platform/upstream/gcc.git
14 years agoAllow no-capture lambdas to convert to function pointer.
Jason Merrill [Tue, 27 Oct 2009 21:58:09 +0000 (17:58 -0400)]
Allow no-capture lambdas to convert to function pointer.

* semantics.c (maybe_add_lambda_conv_op): New.
* parser.c (cp_parser_lambda_expression): Call it.
(cp_parser_lambda_declarator_opt): Make op() static if
no captures.
* mangle.c (write_closure_type_name): Adjust.
* semantics.c (finish_this_expr): Adjust.
* decl.c (grok_op_properties): Allow it.
* call.c (build_user_type_conversion_1): Handle static conversion op.
(build_op_call): And op().

From-SVN: r153617

14 years agodecl.c (purpose_member_field): New static function.
Eric Botcazou [Tue, 27 Oct 2009 20:24:31 +0000 (20:24 +0000)]
decl.c (purpose_member_field): New static function.

* gcc-interface/decl.c (purpose_member_field): New static function.
(annotate_rep): Use it instead of purpose_member.

From-SVN: r153616

14 years agore PR c++/41819 (ICE with try/catch and -fno-exceptions)
Richard Henderson [Tue, 27 Oct 2009 20:09:07 +0000 (13:09 -0700)]
re PR c++/41819 (ICE with try/catch and -fno-exceptions)

        PR c++/41819
        * tree-eh.c (eh_region_may_contain_throw_map): Rename from
        eh_region_may_contain_throw; update users.
        (eh_region_may_contain_throw): New function.
        (lower_catch): Check flag_exceptions before creating exception region.
        (lower_eh_filter, lower_eh_must_not_throw): Likewise.
        (lower_cleanup): Tidy existing flag_exceptions check to match.

From-SVN: r153615

14 years agoraise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of _Unwind_GetIP if HAVE_GET...
Eric Botcazou [Tue, 27 Oct 2009 19:41:13 +0000 (19:41 +0000)]
raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of _Unwind_GetIP if HAVE_GETIPINFO is defined.

* raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
_Unwind_GetIP if HAVE_GETIPINFO is defined.
(db_action_for): Likewise.

From-SVN: r153613

14 years agore PR lto/41652 (LTO plugin misconfiguration)
Dmitry Gorbachev [Tue, 27 Oct 2009 18:17:13 +0000 (18:17 +0000)]
re PR lto/41652 (LTO plugin misconfiguration)

2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

PR lto/41652
* configure.ac: Call AC_SYS_LARGEFILE before AC_OUTPUT.
* configure: Regenerate.

From-SVN: r153610

14 years agomingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro.
Kai Tietz [Tue, 27 Oct 2009 17:14:47 +0000 (17:14 +0000)]
mingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro.

2009-10-27  Kai Tietz <kai.tietz@onevision.com>

        PR/41799
        * config/i386/mingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro.
        * config/i386/mingw.opt: Add fset-stack-executable.
        * config/i386/i386.c (ix86_trampoline_init): Make call to
        emit_library_call conditional, if CHECK_EXECUTE_STACK_ENABLED is
        defined and its value is not zero.
        * doc/invoke.texi

From-SVN: r153606

14 years agoChangeLog: Fix formatting.
Uros Bizjak [Tue, 27 Oct 2009 17:03:47 +0000 (18:03 +0100)]
ChangeLog: Fix formatting.

* ChangeLog: Fix formatting.
* testsuite/ChangeLog: Ditto.

From-SVN: r153604

14 years agotree-ssa-structalias.c (find_func_aliases): In IPA mode handle calls to externally...
Richard Guenther [Tue, 27 Oct 2009 15:52:44 +0000 (15:52 +0000)]
tree-ssa-structalias.c (find_func_aliases): In IPA mode handle calls to externally visible functions like in regular mode.

2009-10-27  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases): In IPA mode
handle calls to externally visible functions like in regular mode.
(create_variable_info_for): Do not create function infos here.
(have_alias_info): Remove write-only variable.
(solve_constraints): New function split out from common code
in compute_points_to_sets and ipa_pta_execute.
(compute_points_to_sets): Adjust.
(ipa_pta_execute): Likewise.  Handle clones and externally visible
functions like in non-IPA mode.

* gcc.dg/torture/ipa-pta-1.c: Adjust testcase.

From-SVN: r153600

14 years agore PR c/41842 (ICE on invalid variable length array declaration)
Jakub Jelinek [Tue, 27 Oct 2009 15:50:50 +0000 (16:50 +0100)]
re PR c/41842 (ICE on invalid variable length array declaration)

PR c/41842
* c-typeck.c (convert_arguments): Return -1 if any of the arguments is
error_mark_node.

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

From-SVN: r153599

14 years agotree-complex.c (expand_complex_div_wide): Check for INTEGER_CST, not TREE_CONSTANT...
Richard Guenther [Tue, 27 Oct 2009 15:16:35 +0000 (15:16 +0000)]
tree-complex.c (expand_complex_div_wide): Check for INTEGER_CST, not TREE_CONSTANT on comparison folding result.

2009-10-27  Richard Guenther  <rguenther@suse.de>

* tree-complex.c (expand_complex_div_wide): Check for
INTEGER_CST, not TREE_CONSTANT on comparison folding result.

From-SVN: r153598

14 years agos-fileio.adb, [...]: Minor reformatting
Robert Dewar [Tue, 27 Oct 2009 14:14:44 +0000 (14:14 +0000)]
s-fileio.adb, [...]: Minor reformatting

2009-10-27  Robert Dewar  <dewar@adacore.com>

* s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
sem_warn.ads: Minor reformatting

From-SVN: r153597

14 years agoMinor doc updates.
Arnaud Charlet [Tue, 27 Oct 2009 14:07:19 +0000 (15:07 +0100)]
Minor doc updates.

From-SVN: r153596

14 years agosem_warn.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 27 Oct 2009 14:02:58 +0000 (14:02 +0000)]
sem_warn.adb, [...]: Minor reformatting.

2009-10-27  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
comments.

From-SVN: r153595

14 years ago[multiple changes]
Arnaud Charlet [Tue, 27 Oct 2009 13:51:46 +0000 (14:51 +0100)]
[multiple changes]

2009-10-27  Robert Dewar  <dewar@adacore.com>

* s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
reformatting.

2009-10-27  Ed Schonberg  <schonberg@adacore.com>

* sem.util.ads, sem_util.adb (Denotes_Same_Object,
Denotes_Same_Prefix): New functions to detect overlap between actuals
that are not by-copy in a call, when one of them is in-out.
* sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
procedure,  called on a subprogram call to warn when an in-out actual
that is not by-copy overlaps with another actual, thus leadind to
potentially dangerous aliasing in the body of the called subprogram.
Currently the warning is under control of the -gnatX switch.
* sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.

From-SVN: r153594

14 years ago[multiple changes]
Arnaud Charlet [Tue, 27 Oct 2009 13:22:25 +0000 (14:22 +0100)]
[multiple changes]

2009-10-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
visible entities when the formal package doesn't have a box.

* checks.adb: Minor reformatting.

2009-10-27  Vincent Celier  <celier@adacore.com>

* prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
set Project to Empty_Node.

2009-10-27  Robert Dewar  <dewar@adacore.com>

* gnatbind.adb: Minor reformatting

From-SVN: r153593

14 years ago[multiple changes]
Arnaud Charlet [Tue, 27 Oct 2009 13:16:48 +0000 (14:16 +0100)]
[multiple changes]

2009-10-27  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Check_Source_Info_In_ALI): Do not recompile if a subunit
from the runtime is found, except if gnatmake switch -a is used and this
subunit cannot be found.

2009-10-27  Ed Schonberg  <schonberg@adacore.com>

* gnatbind.adb (gnatbind): When the -R option is selected, list subunits
as well, for tools that need the complete closure of the main program.

2009-10-27  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi: Minor updates.

2009-10-27  Emmanuel Briot  <briot@adacore.com>

* prj-tree.adb (Free): Fix memory leak.

2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>

* adaint.c, s-os_lib.adb (__gnat_create_output_file_new): New function
that ensures the file that is created is new. Use this function to make
sure there is no race condition if several processes are creating temp
files concurrently.

* s-os_lib.ads: Update comment.

2009-10-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch12.adb: Minor reformatting

2009-10-27  Javier Miranda  <miranda@adacore.com>

* exp_ch4.ads (Integer_Promotion_Possible): New subprogram.
* exp_ch4.adb (Integer_Promotion_Possible): New subprogram.
(Expand_N_Type_Conversion): Replace code that checks if the integer
promotion of the operands is possible by a call to the new function
Integer_Promotion_Possible. Minor reformating because an enclosing
block is now not needed.
* checks.adb (Apply_Arithmetic_Overflow_Check): Add missing check to
see if the integer promotion is possible; in such case the runtime
checks are not generated.

From-SVN: r153592

14 years ago[multiple changes]
Arnaud Charlet [Tue, 27 Oct 2009 13:06:06 +0000 (14:06 +0100)]
[multiple changes]

2009-10-27  Arnaud Charlet  <charlet@adacore.com>

* exp_aggr.adb: Fix comment.

2009-10-27  Emmanuel Briot  <briot@adacore.com>

* prj-err.adb (Error_Msg): take into account continuation lines when
computing whether we have a warning.

2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>

* make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
routine that is designed to create temp file descriptor specifically
for redirecting an output stream.

From-SVN: r153591

14 years agoFix PR40648 -- Fix misaligned store vectorizer patch
Revital Eres [Tue, 27 Oct 2009 11:46:07 +0000 (11:46 +0000)]
Fix PR40648 -- Fix misaligned store vectorizer patch

From-SVN: r153590

14 years agore PR lto/41821 (ICE in LTO when linking)
Richard Guenther [Tue, 27 Oct 2009 11:30:59 +0000 (11:30 +0000)]
re PR lto/41821 (ICE in LTO when linking)

2009-10-27  Richard Guenther  <rguenther@suse.de>

PR lto/41821
* gimple.c (gimple_types_compatible_p): Handle OFFSET_TYPE.

From-SVN: r153589

14 years agore PR bootstrap/41451 (Bootstrap failure with fold checking)
Aldy Hernandez [Tue, 27 Oct 2009 11:18:12 +0000 (11:18 +0000)]
re PR bootstrap/41451 (Bootstrap failure with fold checking)

PR bootstrap/41451
* fold-const.c (fold_binary_loc): Do not call
protected_set_expr_location.

From-SVN: r153588

14 years agore PR c++/41020 (Can't declare an extern "C" friend of a builtin function)
Jakub Jelinek [Tue, 27 Oct 2009 10:28:48 +0000 (11:28 +0100)]
re PR c++/41020 (Can't declare an extern "C" friend of a builtin function)

PR c++/41020
* g++.dg/lookup/extern-c-redecl5.C: Fix up regexp.

From-SVN: r153587

14 years agoFix nits
Eric Botcazou [Tue, 27 Oct 2009 10:09:04 +0000 (10:09 +0000)]
Fix nits

From-SVN: r153586

14 years agotarget.h (have_conditional_execution): Add a new target hook function.
Wei Guozhi [Tue, 27 Oct 2009 09:06:36 +0000 (09:06 +0000)]
target.h (have_conditional_execution): Add a new target hook function.

* target.h (have_conditional_execution): Add a new target hook function.
* target-def.h (TARGET_HAVE_CONDITIONAL_EXECUTION): Likewise.
* targhooks.h (default_have_conditional_execution): Likewise.
* targhooks.c (default_have_conditional_execution): Likewise.
* doc/tm.texi (TARGET_HAVE_CONDITIONAL_EXECUTION): Document it.
* config/arm/arm.c (TARGET_HAVE_CONDITIONAL_EXECUTION): Define it.
(arm_have_conditional_execution): New function.
* ifcvt.c (noce_process_if_block, find_if_header,
cond_exec_find_if_block, dead_or_predicable): Change the usage of macro
HAVE_conditional_execution to a target hook call.
* recog.c (peephole2_optimize): Likewise.
* sched-rgn.c (add_branch_dependences): Likewise.
* final.c (asm_insn_count, final_scan_insn): Likewise.
* bb-reorder.c (HAVE_conditional_execution): Remove it.

From-SVN: r153584

14 years agochrono (duration<>::duration(const duration<>&)): Fix per the straightforward resolut...
Paolo Carlini [Tue, 27 Oct 2009 01:18:10 +0000 (01:18 +0000)]
chrono (duration<>::duration(const duration<>&)): Fix per the straightforward resolution of DR 974.

2009-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/chrono (duration<>::duration(const duration<>&)): Fix
per the straightforward resolution of DR 974.
* testsuite/20_util/duration/cons/dr974.cc: Add.

From-SVN: r153581

14 years agoDaily bump.
GCC Administrator [Tue, 27 Oct 2009 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r153580

14 years agoea.exp: New file.
Ben Elliston [Mon, 26 Oct 2009 22:00:52 +0000 (22:00 +0000)]
ea.exp: New file.

2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* gcc.target/spu/ea/ea.exp: New file.
* gcc.target/spu/ea/cache1.c: Likewise.
* gcc.target/spu/ea/cast1.c: Likewise.
* gcc.target/spu/ea/cast2.c: Likewise.
* gcc.target/spu/ea/compile1.c: Likewise.
* gcc.target/spu/ea/compile2.c: Likewise.
* gcc.target/spu/ea/cppdefine.c: Likewise.
* gcc.target/spu/ea/errors1.c: Likewise.
* gcc.target/spu/ea/errors2.c: Likewise.
* gcc.target/spu/ea/execute1.c: Likewise.
* gcc.target/spu/ea/execute2.c: Likewise.
* gcc.target/spu/ea/execute3.c: Likewise.
* gcc.target/spu/ea/ops1.c: Likewise.
* gcc.target/spu/ea/ops2.c: Likewise.
* gcc.target/spu/ea/options1.c: Likewise.
* gcc.target/spu/ea/test-sizes.c: Likewise.

Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r153576

14 years agoconfig.gcc (spu-*-elf*): Add spu_cache.h to extra_headers.
Ben Elliston [Mon, 26 Oct 2009 21:59:17 +0000 (21:59 +0000)]
config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers.

2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers.
* config/spu/spu_cache.h: New file.

* config/spu/cachemgr.c: New file.
* config/spu/cache.S: New file.

* config/spu/spu.h (ASM_OUTPUT_SYMBOL_REF): Define.
(ADDR_SPACE_EA): Define.
(TARGET_ADDR_SPACE_KEYWORDS): Define.
* config/spu/spu.c (EAmode): New macro.
(TARGET_ADDR_SPACE_POINTER_MODE): Define.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Likewise.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
(TARGET_ADDR_SPACE_CONVERT): Likewise.
(TARGET_ASM_SELECT_SECTION): Likewise.
(TARGET_ASM_UNIQUE_SECTION): Likewise.
(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
(TARGET_ASM_ALIGNED_DI_OP): Likewise.
(ea_symbol_ref): New function.
(spu_legitimate_constant_p): Handle __ea qualified addresses.
(spu_addr_space_legitimate_address_p): New function.
(spu_addr_space_legitimize_address): Likewise.
(cache_fetch): New global.
(cache_fetch_dirty): Likewise.
(ea_alias_set): Likewise.
(ea_load_store): New function.
(ea_load_store_inline): Likewise.
(expand_ea_mem): Likewise.
(spu_expand_mov): Handle __ea qualified memory references.
(spu_addr_space_pointer_mode): New function.
(spu_addr_space_address_mode): Likewise.
(spu_addr_space_subset_p): Likewise.
(spu_addr_space_convert): Likewise.
(spu_section_type_flags): Handle "._ea" section.
(spu_select_section): New function.
(spu_unique_section): Likewise.
* config/spu/spu-c.c (spu_cpu_cpp_builtins): Support __EA32__
and __EA64__ predefined macros.
* config/spu/spu-elf.h (LIB_SPEC): Handle -mcache-size= and
-matomic-updates switches.

* config/spu/t-spu-elf (MULTILIB_OPTIONS): Define.
(EXTRA_MULTILIB_PARTS): Add libgcc_cachemgr.a,
libgcc_cachemgr_nonatomic.a, libgcc_cache8k.a, libgcc_cache16k.a,
libgcc_cache32k.a, libgcc_cache64k.a, libgcc_cache128k.a.
($(T)cachemgr.o, $(T)cachemgr_nonatomic.o): New target.
($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache64k.o,
$(T)cache128k.o): Likewise.
($(T)libgcc_%.a): Likewise.

* config/spu/spu.h (TARGET_DEFAULT): Add MASK_ADDRESS_SPACE_CONVERSION.
* config/spu/spu.opt (-mea32/-mea64): Add switches.
(-maddress-space-conversion): Likewise.
(-mcache-size=): Likewise.
(-matomic-updates): Likewise.
* doc/invoke.texi (-mea32/-mea64): Document.
(-maddress-space-conversion): Likewise.
(-mcache-size=): Likewise.
(-matomic-updates): Likewise.

Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r153575

14 years agotm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document.
Ben Elliston [Mon, 26 Oct 2009 21:58:06 +0000 (21:58 +0000)]
tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document.

2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* doc/tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document.

* c-common.c (c_common_reswords): If TARGET_ADDR_SPACE_KEYWORDS is
defined, add the named address space keywords.
(c_addr_space_name): New function.
(complete_array_type): Preserve named address space.
(handle_mode_attribute): Use targetm.addr_space.valid_pointer_mode
instead of targetm.valid_pointer_mode.

* c-common.h (enum rid): Add RID_ADDR_SPACE_0 .. RID_ADDR_SPACE_15,
RID_FIRST_ADDR_SPACE and RID_LAST_ADDR_SPACE.
(ADDR_SPACE_KEYWORD): New macro.
(c_addr_space_name): Add prototype.

* c-tree.h (struct c_declspecs): Add address_space member.
(declspecs_add_addrspace): Add prototype.

* c-pretty-print.c (pp_c_type_qualifier_list): Handle address spaces.

* c-parser.c (c_parse_init): Add assertion.
(typedef enum c_id_kind): Add C_ID_ADDRSPACE.
(c_lex_one_token): Handle address space keywords.
(c_token_starts_typename): Likewise.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_postfix_expression_after_paren_type): Diagnose compound
literal within function qualified with named address space.

* c-decl.c (diagnose_mismatched_decls): Diagnose conflicting named
address space qualifiers.
(shadow_tag_warned): Warn about useless address space qualifiers.
(quals_from_declspecs): Handle address space qualifiers.
(grokdeclarator): Likewise.
(build_null_declspecs): Likewise.
(declspecs_add_addrspace): New function.

* c-typeck.c (addr_space_superset): New function.
(qualify_type): Handle named address spaces.
(composite_type): Likewise.
(common_pointer_type): Likewise.
(comp_target_types): Likewise.
(build_conditional_expr): Likewise.
(handle_warn_cast_qual): Likewise.
(build_c_cast): Likewise.
(convert_for_assignment): Likewise.
(build_binary_op): Likewise.
(pointer_diff): Handle named address spaces.  Use intermediate
integer type of sufficient size if required.

Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r153574

14 years agotm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document.
Ben Elliston [Mon, 26 Oct 2009 21:57:10 +0000 (21:57 +0000)]
tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document.

2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* doc/tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.

* target.h (struct target_def): Add pointer_mode, address_mode,
and valid_pointer_mode to addr_space substructure.
* target-def.h (TARGET_ADDR_SPACE_POINTER_MODE): Define.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.
(TARGET_ADDR_SPACE_HOOKS): Add them.
* targhooks.c (target_default_pointer_address_modes_p): New function.
* target.h (target_default_pointer_address_modes_p): Add prototype.
* targhooks.c (default_addr_space_pointer_mode): New function.
(default_addr_space_address_mode): Likewise.
(default_addr_space_valid_pointer_mode): Likewise.
* targhooks.h (default_addr_space_pointer_mode): Add prototype.
(default_addr_space_address_mode): Likewise.
(default_addr_space_valid_pointer_mode): Likewise.
* output.h (default_valid_pointer_mode): Move to ...
* targhooks.h (default_valid_pointer_mode): ... here.
* varasm.c (default_valid_pointer_mode): Move to ...
* targhooks.c (default_valid_pointer_mode): ... here.

* varasm.c (output_constant): Use targetm.addr_space.valid_pointer_mode
instead of targetm.valid_pointer_mode.

* fold-const.c (fit_double_type): Use int_or_pointer_precision.
* tree.c (integer_pow2p): Likewise.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(signed_or_unsigned_type_for): Support pointer type of different size.
(int_or_pointer_precision): New function.
* tree.h (int_or_pointer_precision): Add prototype.
* stor-layout.c (layout_type): Set TYPE_PRECISION for offset types.
* varasm.c (initializer_constant_valid_p): Use TYPE_PRECISION of
incoming pointer type instead of POINTER_SIZE.

* tree.c (build_pointer_type): Use appropriate pointer mode
instead of ptr_mode.
(build_reference_type): Likewise.
* expr.c (store_expr): Likewise.
(expand_expr_addr_expr): Likewise.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.

* auto-inc-dec.c: Include "target.h".
(try_merge): Use appropriate address mode instead of Pmode.
(find_inc): Likewise.
* combine.c (find_split_point): Likewise.
* cselib.c (cselib_record_sets): Likewise.
* dse.c (replace_inc_dec): Likewise.
(canon_address): Likewise.
* var-tracking.c (replace_expr_with_values): Likewise.
(count_uses): Likewise.
(add_uses): Likewise.
(add_stores): Likewise.
* emit-rtl.c: Include "target.h".
(adjust_address_1): Use appropriate address mode instead of Pmode.
(offset_address): Likewise.
* explow.c (break_out_memory_refs): Likewise.
(memory_address_addr_space): Likewise.
(promote_mode): Likewise.
* expr.c (move_by_pieces): Likewise.
(emit_block_move_via_loop): Likewise.
(store_by_pieces): Likewise.
(store_by_pieces_1): Likewise.
(expand_assignment): Likewise.
(store_constructor): Likewise.
(expand_expr_addr_expr): Likewise.
(expand_expr_real_1): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* regcprop.c (kill_autoinc_value): Likewise.
* regmove.c (try_auto_increment): Likewise.
* reload.c (find_reloads): Likewise.
(find_reloads_address): Likewise.
(find_reloads_address_1): Likewise.
* sched-deps.c: Include "target.h".
(sched_analyze_1): Use appropriate address mode instead of Pmode.
(sched_analyze_2): Likewise.
* sel-sched-dump.c: Include "target.h".
(debug_mem_addr_value): Use appropriate address mode instead of Pmode.
* stor-layout.c (layout_type): Likewise.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
(multiplier_allowed_in_address_p): Likewise.
(get_address_cost): Likewise.
* varasm.c (make_decl_rtl): Likewise.

* expr.c (expand_assignment): Always convert offsets to appropriate
address mode.
(store_expr): Likewise.
(store_constructor): Likewise.
(expand_expr_real_1): Likewise.

* reload.h (form_sum): Add MODE argument.
* reload.c (form_sum): Add MODE argument, use it instead of Pmode.
Update recursive calls.
(subst_indexed_address): Update calls to form_sum.

* tree-flow.h (addr_for_mem_ref): Add ADDRSPACE argument.
* tree-ssa-address.c: Include "target.h".
(templates): Replace by ...
(mem_addr_template_list): ... this new vector.
(TEMPL_IDX): Handle address space numbers.
(gen_addr_rtx): Add address mode argument, use it instead of Pmode.
(addr_for_mem_ref): Add ADDRSPACE argument.  Use per-address-space
instead of global cache.  Update call to gen_addr_rtx.
(valid_mem_ref_p): Update call to addr_for_mem_ref.
* expr.c (expand_expr_real_1): Update call to addr_for_mem_ref.

* rtl.h (convert_memory_address_addr_space): Add prototype.
(convert_memory_address): Define as macro.
* explow.c (convert_memory_address): Rename to ...
(convert_memory_address_addr_space): ... this.  Add ADDRSPACE argument.
Use appropriate pointer and address modes instead of ptr_mode / Pmode.
Update recursive calls.
(memory_address_addr_space): Call convert_memory_address_addr_space.
* expmed.c (make_tree): Likewise.
* expr.c (expand_assignment): Likewise.
(expand_expr_addr_expr_1): Likewise.  Also, add ADDRSPACE argument.
(expand_expr_addr_expr): Likewise.  Also, update call.

* alias.c (find_base_value): Guard pointer size optimizations.
(find_base_term): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.

* Makefile.in (tree-ssa-address.o): Add $(TARGET_H) dependency.
(emit-rtl.o): Likewise.
(auto-inc-dec.o): Likewise.
(sched-deps.o): Likewise.

Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r153573

14 years agoextend.texi (Named Address Spaces): New section.
Ben Elliston [Mon, 26 Oct 2009 21:55:59 +0000 (21:55 +0000)]
extend.texi (Named Address Spaces): New section.

2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* doc/extend.texi (Named Address Spaces): New section.
* coretypes.h (addr_space_t): New type.
(ADDR_SPACE_GENERIC): New define.
(ADDR_SPACE_GENERIC_P): New macro.

* doc/tm.texi (Named Address Spaces): New section.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Document.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Document.
(TARGET_ADDR_SPACE_SUBSET_P): Document.
(TARGET_ADDR_SPACE_CONVERT): Document.
* target.h (struct gcc_target): Add addr_space substructure.
* target-def.h (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
(TARGET_ADDR_SPACE_CONVERT): Likewise.
(TARGET_ADDR_SPACE_HOOKS): Likewise.
(TARGET_INITIALIZER): Initialize addr_space hooks.
* targhooks.c (default_addr_space_legitimate_address_p): New function.
(default_addr_space_legitimize_address): Likewise.
(default_addr_space_subset_p): Likewise.
(default_addr_space_convert): Likewise.
* targhooks.h (default_addr_space_legitimate_address_p): Add prototype.
(default_addr_space_legitimize_address): Likewise.
(default_addr_space_subset_p): Likewise.
(default_addr_space_convert): Likewise.

* doc/rtl.texi (MEM_ADDR_SPACE): Document.
* rtl.h (mem_attrs): Add ADDRSPACE memory attribute.
(MEM_ADDR_SPACE): New macro.
* emit-rtl.c (get_mem_attrs): Add ADDRSPACE argument and set
address space memory attribute.
(mem_attrs_htab_hash): Handle address space memory attribute.
(mem_attrs_htab_eq): Likewise.
(set_mem_attributes_minus_bitpos): Likewise.
(set_mem_alias_set): Likewise.
(set_mem_align): Likewise.
(set_mem_expr): Likewise.
(set_mem_offset): Likewise.
(set_mem_size): Likewise.
(adjust_address_1): Likewise.
(offset_address): Likewise.
(widen_memoy_address): Likewise.
(get_spill_slot_decl): Likewise.
(set_mem_attrs_for_spill): Likewise.
(set_mem_addr_space): New function.
* emit-rtl.h (set_mem_addr_space): Add prototype.
* print-rtl.c (print_rtx): Print address space memory attribute.
* expr.c (expand_assignment): Set address space memory attribute
of generated MEM RTXes as appropriate.
(expand_expr_real_1): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.

* tree.h (struct tree_base): Add address_space bitfield.  Reduce
size of "spare" bitfield.
(TYPE_ADDR_SPACE): New macro.
(ENCODE_QUAL_ADDR_SPACE): Likewise.
(DECODE_QUAL_ADDR_SPACE): Likewise.
(CLEAR_QUAL_ADDR_SPACE): Likewise.
(KEEP_QUAL_ADDR_SPACE): Likewise.
(TYPE_QUALS): Encode type address space.
(TYPE_QUALS_NO_ADDR_SPACE): New macro.
* tree.c (set_type_quals): Set type address space.
(build_array_type): Inherit array address space from element type.
* print-tree.c (print_node_brief): Print type address space.
(print_node): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.

* explow.c (memory_address): Rename to ...
(memory_address_addr_space): ... this.  Add ADDRSPACE argument.
Use address-space aware variants of memory address routines.
* recog.c (memory_address_p): Rename to ...
(memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
(offsettable_address_p): Rename to ...
(offsettable_address_addr_space_p): ... this.  Add ADDRSPACE argument.
Use address-space aware variants of memory address routines.
* reload.c (strict_memory_address_p): Rename to ...
(strict_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
(maybe_memory_address_p): Rename to ...
(maybe_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
* expr.h (memory_address_addr_space): Add prototype.
(memory_address): Define as macro.
* recog.h (memory_address_addr_space_p): Add prototype.
(memory_address_p): Define as macro.
(offsettable_address_addr_space_p): Add prototype.
(offsettable_address_p): Define as macro.
(strict_memory_address_addr_space_p): Add prototype.
(strict_memory_address_p): Define as macro.

* combine.c (find_split_point): Use address-space aware variants
of memory address routines.
* emit-rtl.c (operand_subword): Likewise.
(change_address_1): Likewise.
(adjust_address_1): Likewise.
(offset_address): Likewise.
* expr.c (emit_move_insn): Likewise.
(expand_assignment): Likewise.
(expand_expr_real_1): Likewise.
* recog.c (verify_changes): Likewise.
(general_operand): Likewise.
(offsettable_memref_p): Likewise.
(offsettable_nonstrict_memref_p): Likewise.
(constrain_operands): Likewise.
* reload.c (get_secondary_mem): Likewise.
(find_reloads_toplev): Likewise.
(find_reloads_address): Likewise.
(find_reloads_subreg_address): Likewise.
* reload1.c (reload): Likewise.
* rtlhooks.c (gen_lowpart_if_possible): Likewise.
* rtl.h (address_cost): Add ADDRSPACE argument.
* rtlanal.c (address_cost): Add ADDRSPACE argument.  Use address-space
aware variant of memory address routines.
* loop-invariant.c (create_new_invariant): Update address_cost call.
* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
* fwprop.c (should_replace_address): Add ADDRSPACE argument.
Use address-space aware variant of memory address routines.
(propagate_rtx_1): Update call to should_replace_address.
* tree-flow.h (multiplier_allowed_in_address_p): Add ADDRSPACE
argument.
* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Add
ADDRSPACE argument.  Use per-address-space instead of global cache.
Use address-space aware variant of memory address routines.
(get_address_cost): Likewise.
(get_computation_cost_at): Update calls.
* tree-ssa-address.c (valid_mem_ref_p): Add ADDRSPACE argument.
Use address-space aware variant of memory address routines.
(create_mem_ref_raw): Update call to valid_mem_ref_p.
(most_expensive_mult_to_index): Update call to
multiplier_allowed_in_address_p.

* dwarf2out.c (modified_type_die): Output DW_AT_address_class
attribute to indicate named address spaces.

* varasm.c (get_variable_section): DECLs in named address spaces
cannot be "common".

* reload.c (find_reloads_address): Do not use LEGITIMIZE_RELOAD_ADDRESS
for addresses in a non-generic address space.

* expr.c (emit_block_move_hints): Do not use libcalls for
memory in non-generic address spaces.
(clear_storage_hints): Likewise.
(expand_assignment): Likewise.

* fold-const.c (operand_equal_p): Expressions refering to different
address spaces are not equivalent.

* rtl.c (rtx_equal_p_cb): MEMs refering to different address
spaces are not equivalent.
(rtx_equal_p): Likewise.
* cse.c (exp_equiv_p): Likewise.
* jump.c (rtx_renumbered_equal_p): Likewise.
* reload.c (operands_match_p): Likewise.

* alias.c (nonoverlapping_memrefs_p): MEMs refering to different
address spaces may alias.
(true_dependence): Likewise.
(canon_true_dependence): Likewise.
(write_dependence_p): Likewise.

* dse.c (canon_address): Handle named address spaces.
* ifcvt.c (noce_try_cmove_arith): Likewise.

* tree.def (ADDR_SPACE_CONVERT_EXPR): New tree code.
* expr.c (expand_expr_real_2): Expand ADDR_SPACE_CONVERT_EXPR.
* convert.c (convert_to_pointer): Generate ADDR_SPACE_CONVERT_EXPR
to handle conversions between different address spaces.
* fold-const.c (fold_convert_loc): Likewise.
(fold_unary_loc): Handle ADDR_SPACE_CONVERT_EXPR.
* tree-pretty-print.c (dump_generic_node): Likewise.
* gimple-pretty-print.c (dump_unary_rhs): Likewise.
* tree-cfg.c (verify_gimple_assign_unary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-ssa.c (useless_type_conversion_p): Conversions between pointers
to different address spaces are not useless.

Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r153572

14 years agore PR libstdc++/38923 (symbol versioning disabled due to non-portable sed script)
Jakub Jelinek [Mon, 26 Oct 2009 20:28:24 +0000 (21:28 +0100)]
re PR libstdc++/38923 (symbol versioning disabled due to non-portable sed script)

PR libstdc++/38923
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Avoid using too many
*s.  Accept ld version without text in ()s.
* configure: Regenerated.

* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
*s.  Accept ld version without text in ()s.
* configure: Regenerated.

From-SVN: r153570

14 years agore PR bootstrap/41345 (bootstrap comparison failure with --disable-checking)
Jakub Jelinek [Mon, 26 Oct 2009 20:21:09 +0000 (21:21 +0100)]
re PR bootstrap/41345 (bootstrap comparison failure with --disable-checking)

PR bootstrap/41345
* cfgcleanup.c (trivially_empty_bb_p): New function.
(try_optimize_bb): Use it instead of checking BB_HEAD == BB_END.

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

From-SVN: r153569

14 years agore PR debug/41828 (DW_AT_name should not be present for anonymous aggregates)
Jakub Jelinek [Mon, 26 Oct 2009 20:18:26 +0000 (21:18 +0100)]
re PR debug/41828 (DW_AT_name should not be present for anonymous aggregates)

PR debug/41828
* cp-lang.c (cxx_dwarf_name): Return NULL instead of
<anonymous ...> for anonymous aggregate names.

* dwarf2out.c (add_pubname, add_pubtype, generic_parameter_die,
add_name_and_src_coords_attributes, gen_namespace_die,
dwarf2out_set_name): Handle dwarf2_name returning NULL.

* g++.dg/debug/dwarf2/anonname1.C: New test.

From-SVN: r153568

14 years agoPR c++/38796, Core issue 906
Jason Merrill [Mon, 26 Oct 2009 19:07:14 +0000 (15:07 -0400)]
PR c++/38796, Core issue 906

PR c++/38796, Core issue 906
gcc/cp
* cp-tree.h (DECL_DEFAULTED_OUTSIDE_CLASS_P): New.
(DECL_DEFAULTED_IN_CLASS_P): New.
* class.c (user_provided_p): Non-static.
(check_methods): Use it.
(check_bases_and_members): Check defaulted fns.
(defaultable_fn_p): Move and rename to...
* method.c (defaultable_fn_check): ...this.
(defaulted_late_check): New.
* pt.c (tsubst_decl): Call it.
* decl2.c (grokfield): Adjust.
* decl.c (cp_finish_decl): Adjust.
(grok_special_member_properties): Use user_provided_p.
libstdc++-v3
* include/std/future (~Future_result_base): Default outside class
body.
* include/std/system_error (error_category()): Likewise.
* libsupc++/nested_exception.h (nested_exception): Remove
exception specifications from defaulted methods.

From-SVN: r153565

14 years agore PR c++/41785 ([C++0x] ICE on canonical types with variadic templates and CRTP)
Dodji Seketeli [Mon, 26 Oct 2009 18:31:22 +0000 (18:31 +0000)]
re PR c++/41785 ([C++0x] ICE on canonical types with variadic templates and CRTP)

Fix PR c++/41785

gcc/cp/ChangeLog:

PR c++/41785
* pt.c (template_args_equal): Handle comparison of
an ARGUMENT_PACK_SELECT node with the arguments node it selects into.
* cp-tree.def: Fix a typo in the description of TYPE_PACK_EXPANSION.

gcc/testsuite/ChangeLog:
PR c++/41785
* gcc/testsuite/g++.dg/cpp0x/variadic96.C: New test.

From-SVN: r153564

14 years agoMAINTAINERS: Add myself as a maintainer for the RX port.
Nick Clifton [Mon, 26 Oct 2009 16:30:15 +0000 (16:30 +0000)]
MAINTAINERS: Add myself as a maintainer for the RX port.

        * MAINTAINERS: Add myself as a maintainer for the RX port.

gcc
        * config.gcc: Add support for RX target.
        * config/rx: New directory.
        * config/rx/constraints.md: New file.
        * config/rx/predicates.md: New file.
        * config/rx/rx.c: New file.
        * config/rx/rx.h: New file.
        * config/rx/rx.md: New file.
        * config/rx/rx.opt: New file.
        * config/rx/rx-protos.h: New file.
        * config/rx/t-rx: New file.
        * doc/extend.texi: Document RX function attributes.
        * doc/invoke.texi: Document RX specific command line options.
        * doc/contrib.texi: Document RX contribution.
        * doc/md.texi: Document RX constraints.
        * doc/install.texi: Document RX support.

libgcc
        * config.host: Add support for RX target.
        * config/rx: New directory.
        * config/rx/rx-abi-functions.c: New file. Supplementary
        functions for libgcc to support the RX ABI.
        * config/rx/rx-abi.h: New file.  Supplementary header file for
        libgcc RX ABI functions.
        * config/rx/t-rx: New file: Makefile fragment for building
        libgcc for the RX.

gcc/testsuite
        * lib/target-supports.exp (check_profiling_available):
        Profiling is not, currently, available for the RX port.
        (check_effective_target_hard_float): Add support for RX
        target.
        * gcc.target/rx: New directory.
        * gcc.target/rx/builtins.c: New test file.
        * gcc.target/rx/interrupts.c: New test file.
        * gcc.target/rx/rx-abi-function-tests.c: New test file.
        * gcc.target/rx/zero-width-bitfield.c: New test file.
        * gcc.target/rx/i272091.c: New test file.
        * gcc.target/rx/packed-struct.c: New test file.
        * gcc.target/rx/rx.exp: New file: Drives RX tests.

From-SVN: r153557

14 years agoconfigure.ac: Use AM_MAINTAINER_MODE.
Richard Guenther [Mon, 26 Oct 2009 16:05:36 +0000 (16:05 +0000)]
configure.ac: Use AM_MAINTAINER_MODE.

2009-10-26  Richard Guenther  <rguenther@suse.de>

* configure.ac: Use AM_MAINTAINER_MODE.
* acinclude.m4: Remove.
* configure: Re-generate.
* Makefile.in: Likewise.
* aclocal.m4: Likewise.

From-SVN: r153556

14 years ago20091014-1_0.c: Replace -shared with -r -nostlib.
Andrew Pinski [Mon, 26 Oct 2009 15:59:50 +0000 (08:59 -0700)]
20091014-1_0.c: Replace -shared with -r -nostlib.

2009-10-26  Andrew Pinski  <pinskia@gcc.gnu.org>

        * gcc.dg/lto/20091014-1_0.c: Replace -shared with -r -nostlib.
        * gcc.dg/lto/20091016-1_0.c: Likewise.
        * gcc.dg/lto/20090206-1_0.c: Likewise.
        * gcc.dg/lto/20081120-1_0.c: Likewise.
        * gcc.dg/lto/20081120-2_0.c: Likewise.
        * gcc.dg/lto/20090116_0.c: Likewise.
        * gcc.dg/lto/20081126_0.c: Likewise.
        * gcc.dg/lto/20091013-1_0.c: Likewise.
        * gcc.dg/lto/20081212-1_0.c: Likewise.
        * gcc.dg/lto/20091015-1_0.c: Likewise.
        * gcc.dg/lto/20090126-1_0.c: Likewise.
        * gcc.dg/lto/20090126-2_0.c: Likewise.
        * gcc.dg/lto/20091020-1_0.c: Likewise.
        * gcc.dg/lto/20091020-2_0.c: Likewise.
        * gcc.dg/lto/20081204-1_0.c: Likewise.
        * gcc.dg/lto/20081204-2_0.c: Likewise.
        * gcc.dg/lto/20081224_0.c: Likewise.
        * gcc.dg/lto/20090219_0.c: Likewise.

From-SVN: r153555

14 years agore PR c++/41020 (Can't declare an extern "C" friend of a builtin function)
Dodji Seketeli [Mon, 26 Oct 2009 14:40:16 +0000 (14:40 +0000)]
re PR c++/41020 (Can't declare an extern "C" friend of a builtin function)

Fix PR c++/41020

gcc/cp/ChangeLog:

PR c++/41020
* decl.c (decls_match): Use DECL_IS_BUILTIN instead of
DECL_BUILT_IN.

gcc/testsuite/ChangeLog:
PR c++/41020
* g++.dg/lookup/extern-c-redecl2.C: New test.
* g++.dg/lookup/extern-c-redecl3.C: Likewise.
* g++.dg/lookup/extern-c-redecl4.C: Likewise.
* g++.dg/lookup/extern-c-redecl5.C: Likewise.

From-SVN: r153552

14 years agore PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp)
Michael Matz [Mon, 26 Oct 2009 13:00:36 +0000 (13:00 +0000)]
re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp)

PR tree-optimization/41783
* tree-ssa-alias.c (get_continuation_for_phi): Export, add a special
case for simple diamonds
* tree-ssa-alias.h (get_continuation_for_phi): Declare.
* tree-ssa-pre.c (translate_vuse_through_block): Add same_valid
argument, use alias oracle to skip some vdefs.
(phi_translate_1): Change call to above, don't allocate new
value ids if they can stay the same.
(compute_avail): Allow vuse walking when looking up references.

testsuite/
* gcc.dg/pr41783.c: New test.
* gcc.dg/tree-ssa/ssa-pre-23.c: Adjust.
* gcc.dg/tree-ssa/ssa-pre-24.c: Don't xfail anymore.
* gcc.dg/tree-ssa/ssa-pre-27.c: New test.

From-SVN: r153551

14 years agore PR tree-optimization/41826 (invalid read in get_constraint_for_ptr_offset)
Richard Guenther [Mon, 26 Oct 2009 12:21:50 +0000 (12:21 +0000)]
re PR tree-optimization/41826 (invalid read in get_constraint_for_ptr_offset)

2009-10-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41826
* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Avoid
access to re-allocated vector fields.

From-SVN: r153550

14 years agographite-sese-to-poly.c (check_poly_representation): Fix compile without checking.
Richard Guenther [Mon, 26 Oct 2009 11:16:10 +0000 (11:16 +0000)]
graphite-sese-to-poly.c (check_poly_representation): Fix compile without checking.

2009-10-26  Richard Guenther  <rguenther@suse.de>

* graphite-sese-to-poly.c (check_poly_representation): Fix
compile without checking.

From-SVN: r153549

14 years agoMAINTAINERS (Write After Approval): Update my e-mail address.
Johannes Singler [Mon, 26 Oct 2009 10:11:36 +0000 (10:11 +0000)]
MAINTAINERS (Write After Approval): Update my e-mail address.

2009-10-26  Johannes Singler <singler@kit.edu>

        * MAINTAINERS (Write After Approval): Update my e-mail address.

From-SVN: r153548

14 years agore PR fortran/41714 ([OOP] ALLOCATE SOURCE= does not properly copy the value from...
Janus Weil [Mon, 26 Oct 2009 09:08:03 +0000 (10:08 +0100)]
re PR fortran/41714 ([OOP] ALLOCATE SOURCE= does not properly copy the value from SOURCE)

2009-10-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41714
* gimple.h (tree_annotate_all_with_location): Remove prototype.
* gimplify.c (tree_should_carry_location_p,
tree_annotate_one_with_location,tree_annotate_all_with_location):
Remove obsolete functions.

2009-10-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41714
* trans.c (gfc_trans_code): Remove call to
'tree_annotate_all_with_location'. Location should already be set.
* trans-openmp.c (gfc_trans_omp_workshare): Ditto.
* trans-stmt.c (gfc_trans_allocate): Do correct data initialization for
CLASS variables with SOURCE tag, plus some cleanup.

2009-10-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41714
* gfortran.dg/class_allocate_4.f03: New test.

From-SVN: r153547

14 years agoDaily bump.
GCC Administrator [Mon, 26 Oct 2009 00:17:22 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r153546

14 years agore PR target/41813 (SH: delay slot is filled with a wrong insn)
Kaz Kojima [Sun, 25 Oct 2009 23:10:22 +0000 (23:10 +0000)]
re PR target/41813 (SH: delay slot is filled with a wrong insn)

PR target/41813
* config/sh/sh.md (stuff_delay_slot): Don't set T_REG in pattern.

From-SVN: r153543

14 years agolto-streamer-in.c (unpack_ts_decl_common_value_fields): Stream DECL_RESTRICTED_P.
Richard Guenther [Sun, 25 Oct 2009 20:50:07 +0000 (20:50 +0000)]
lto-streamer-in.c (unpack_ts_decl_common_value_fields): Stream DECL_RESTRICTED_P.

2009-10-25  Richard Guenther  <rguenther@suse.de>

* lto-streamer-in.c (unpack_ts_decl_common_value_fields):
Stream DECL_RESTRICTED_P.
* lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.

From-SVN: r153542

14 years agomips.c (mips_restore_gp_from_cprestore_slot): Emit a note when expanding to nothing.
Richard Sandiford [Sun, 25 Oct 2009 15:59:17 +0000 (15:59 +0000)]
mips.c (mips_restore_gp_from_cprestore_slot): Emit a note when expanding to nothing.

gcc/
* config/mips/mips.c (mips_restore_gp_from_cprestore_slot): Emit
a note when expanding to nothing.

From-SVN: r153540

14 years agore PR middle-end/41814 (ICE in jc1 during bootstrap of gcj)
Richard Guenther [Sun, 25 Oct 2009 12:03:07 +0000 (12:03 +0000)]
re PR middle-end/41814 (ICE in jc1 during bootstrap of gcj)

2009-10-25  Richard Guenther  <rguenther@suse.de>

PR middle-end/41814
* tree.c (find_decls_types_r): Deal with Java overloading
BINFO_VIRTUALS for its own purpose.

From-SVN: r153539

14 years agopredicates.md (hilo_operand): New predicate.
Adam Nemet [Sun, 25 Oct 2009 07:03:53 +0000 (07:03 +0000)]
predicates.md (hilo_operand): New predicate.

* config/mips/predicates.md (hilo_operand): New predicate.
* config/mips/mips.md (<u>mulsidi3_64bit): Change it to a
define_insn.  Correct !ISA_HAS_EXT_INS length from 24 to 28.  Move
splitter part from here ...:
(<u>mulsidi3_64bit splitter for !ISA_HAS_EXT_INS): ... to here.  Swap
op0 and op4 to match the DINS case.
(<u>mulsidi3_64bit splitter for ISA_HAS_EXT_INS): New splitter.

testsuite/
* gcc.target/mips/mult-1.c: New test.

From-SVN: r153538

14 years agoDaily bump.
GCC Administrator [Sun, 25 Oct 2009 00:17:12 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r153537

14 years agore PR fortran/41784 ([OOP] ICE in load_derived_extensions)
Janus Weil [Sat, 24 Oct 2009 16:50:41 +0000 (18:50 +0200)]
re PR fortran/41784 ([OOP] ICE in load_derived_extensions)

2009-10-24  Janus Weil  <janus@gcc.gnu.org>
    Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41784
* module.c (load_derived_extensions): Skip symbols which are not being
loaded.

2009-10-24  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41784
* gfortran.dg/extends_8.f03: New test.

Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r153534

14 years agore PR middle-end/19154 (miss-optimization of (x & pow2C) avr conditionals returning...
Andy Hutchinson [Sat, 24 Oct 2009 15:39:23 +0000 (15:39 +0000)]
re PR middle-end/19154 (miss-optimization of (x & pow2C) avr conditionals returning bool equivalent values)

PR middle-end/19154
* avr.md (QIDI): Add new mode iterator.
(sbrx_branch<mode>): Create new zero extract bit, test and jump
patterns for all QI-DI modes combinations.
(sbrx_and_branch<mode>): Create new and based bit test and jump
patterns for QI-SI modes.
avr.c (avr_out_sbxx_branch): Use only bit number.

From-SVN: r153531

14 years agore PR middle-end/19154 (miss-optimization of (x & pow2C) avr conditionals returning...
Andy Hutchinson [Sat, 24 Oct 2009 15:36:40 +0000 (15:36 +0000)]
re PR middle-end/19154 (miss-optimization of (x & pow2C) avr conditionals returning bool equivalent values)

PR middle-end/19154
* avr.md (QIDI): Add new mode iterator.
(sbrx_branch<mode>): Create new zero extract bit, test and jump
patterns for all QI-DI modes combinations.
(sbrx_and_branch<mode>): Create new and based bit test and jump
patterns for QI-SI modes.
avr.c (avr_out_sbxx_branch): Use only bit number.

From-SVN: r153530

14 years agoipa-reference.c (check_call): Noreturn notrhow calls do not write to memory.
Jan Hubicka [Sat, 24 Oct 2009 13:32:12 +0000 (15:32 +0200)]
ipa-reference.c (check_call): Noreturn notrhow calls do not write to memory.

* ipa-reference.c (check_call): Noreturn notrhow calls do not write
to memory.
(analyze_function): When analyzing noreturn nothrow call, do not compute
written stats; free bitmaps of vars early if possible.
(generate_summary): Only update bitmaps if computed.
(propagate): Only dump bitmaps if computed.
(ipa_reference_read_summary): Fix pasto.

From-SVN: r153529

14 years agodecl.c (gnat_to_gnu_entity): When processing the parent type...
Eric Botcazou [Sat, 24 Oct 2009 11:12:21 +0000 (11:12 +0000)]
decl.c (gnat_to_gnu_entity): When processing the parent type...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
processing the parent type, build the COMPONENT_REF for a discriminant
with the proper type.

From-SVN: r153528

14 years agoMakefile.in (GNATLIBCFLAGS_FOR_C): New variable.
Eric Botcazou [Sat, 24 Oct 2009 10:58:31 +0000 (10:58 +0000)]
Makefile.in (GNATLIBCFLAGS_FOR_C): New variable.

libada/
* Makefile.in (GNATLIBCFLAGS_FOR_C): New variable.
(LIBADA_FLAGS_TO_PASS): Add GNATLIBCFLAGS_FOR_C.
* configure.ac: Include config/unwind_ipinfo.m4.
Check for _Unwind_GetIPInfo.
* configure: Regenerate.

gcc/ada/
* init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
* gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
Pass GNATLIBCFLAGS_FOR_C to recursive invocations.

gcc/testsuite/
* gnat.dg/null_pointer_deref1.adb: New test.
* gnat.dg/null_pointer_deref2.adb: Likewise.

From-SVN: r153525

14 years agore PR fortran/41772 (Wrong code due to TRANSFER of EMPTY array section)
Paul Thomas [Sat, 24 Oct 2009 10:11:46 +0000 (10:11 +0000)]
re PR fortran/41772 (Wrong code due to TRANSFER of EMPTY array section)

2009-10-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41772
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Stop'extent'
from going negative.

2009-10-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41772
* gfortran.dg/transfer_intrinsic_3.f90.

From-SVN: r153524

14 years agotree-ssa-alias.c (nonaliasing_component_refs_p): Rename into...
Eric Botcazou [Sat, 24 Oct 2009 10:05:23 +0000 (10:05 +0000)]
tree-ssa-alias.c (nonaliasing_component_refs_p): Rename into...

* tree-ssa-alias.c (nonaliasing_component_refs_p): Rename into...
(aliasing_component_refs_p): ...this.  Return true if there is no
common base and the base access types have the same alias set.
(indirect_ref_may_alias_decl_p): Adjust for above renaming.
(indirect_refs_may_alias_p): Likewise.

From-SVN: r153523

14 years agore PR c/40033 (ICE with invalid statement expression)
Joseph Myers [Sat, 24 Oct 2009 00:44:17 +0000 (01:44 +0100)]
re PR c/40033 (ICE with invalid statement expression)

PR c/40033
* c-typeck.c (c_finish_stmt_expr): Do not wrap error_mark_node in
a C_MAYBE_CONST_EXPR.

testsuite:
* gcc.dg/noncompile/pr40033-1.c: New test.

From-SVN: r153522

14 years agoDaily bump.
GCC Administrator [Sat, 24 Oct 2009 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r153521

14 years agore PR c++/40808 (member template specialization causes ICE)
Dodji Seketeli [Fri, 23 Oct 2009 21:38:50 +0000 (21:38 +0000)]
re PR c++/40808 (member template specialization causes ICE)

Fix for PR c++/40808

gcc/cp/ChangeLog:

PR c++/40808
* mangle.c (write_template_args): Allow mangling of empty template
argument list. Updated function comments.

gcc/testsuite/ChangeLog:

PR c++/40808
* g++.dg/abi/mangle34.C: New test

From-SVN: r153517

14 years ago* semantics.c (lambda_expr_this_capture): Use thisify_lambda_field.
Jason Merrill [Fri, 23 Oct 2009 20:09:45 +0000 (16:09 -0400)]
* semantics.c (lambda_expr_this_capture): Use thisify_lambda_field.

From-SVN: r153512

14 years agosemantics.c (outer_lambda_capture_p): New fn.
Jason Merrill [Fri, 23 Oct 2009 18:08:18 +0000 (14:08 -0400)]
semantics.c (outer_lambda_capture_p): New fn.

* semantics.c (outer_lambda_capture_p): New fn.
(thisify_lambda_field): Factor out...
(add_default_capture): ...from here.
(finish_id_expression): Use them.

From-SVN: r153510

14 years agoCore issue 899
Jason Merrill [Fri, 23 Oct 2009 18:08:10 +0000 (14:08 -0400)]
Core issue 899

Core issue 899
* call.c (add_function_candidate): Only permit explicit conversion
ops if copy ctor was called with a single argument.

From-SVN: r153509

14 years ago* call.c (initialize_reference): Tweak error message.
Jason Merrill [Fri, 23 Oct 2009 18:08:03 +0000 (14:08 -0400)]
* call.c (initialize_reference): Tweak error message.

From-SVN: r153508

14 years agoadd mising testsuite/ChangeLog entries
Jason Merrill [Fri, 23 Oct 2009 18:07:55 +0000 (14:07 -0400)]
add mising testsuite/ChangeLog entries

From-SVN: r153507

14 years agore PR testsuite/31342 (testsuite i386/pic-1.c FAILed for warning -fPIC ignored)
Joseph Myers [Fri, 23 Oct 2009 17:37:13 +0000 (18:37 +0100)]
re PR testsuite/31342 (testsuite i386/pic-1.c FAILed for warning -fPIC ignored)

* g++.dg/abi/rtti3.C, g++.dg/abi/thunk4.C: Skip for *-*-mingw* and
*-*-cygwin.
* g++.dg/cpp0x/lambda/lambda-mangle.C: Disable weak symbols tests
for *-*-mingw* and *-*-cygwin.
* g++.dg/opt/vt1.C: Skip for *-*-mingw* and *-*_cygwin.
* g++.dg/template/spec35.C: Disable weak symbol test for
*-*-mingw* and *-*-cygwin.

PR testsuite/31342
* gcc.target/i386/pic-1.c: Skip for *-*-mingw* and *-*-cygwin.

From-SVN: r153506

14 years agore PR fortran/41800 ([OOP] ICE in fold_convert_loc, at fold-const.c:2789)
Janus Weil [Fri, 23 Oct 2009 16:10:08 +0000 (18:10 +0200)]
re PR fortran/41800 ([OOP] ICE in fold_convert_loc, at fold-const.c:2789)

2009-10-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41800
* trans-expr.c (gfc_trans_scalar_assign): Handle CLASS variables.

2009-10-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41800
* gfortran.dg/class_10.f03: New test.

From-SVN: r153504

14 years agosplay-tree.h (libi_uhostptr_t): Add gcc specific __extension__ for long long type...
Kai Tietz [Fri, 23 Oct 2009 15:08:10 +0000 (15:08 +0000)]
splay-tree.h (libi_uhostptr_t): Add gcc specific __extension__ for long long type case to silent cX9.

2009-10-23  Kai Tietz  <kai.tietz@onevision.com>

* splay-tree.h (libi_uhostptr_t): Add gcc specific
__extension__ for long long type case to silent cX9.
(libi_shostptr_t): Likewise.

From-SVN: r153499

14 years agoFix 41787
Michael Meissner [Fri, 23 Oct 2009 15:05:20 +0000 (15:05 +0000)]
Fix 41787

From-SVN: r153498

14 years agore PR c/41673 (variable-length array dereference inside sizeof gives "warning: derefe...
Joseph Myers [Fri, 23 Oct 2009 12:18:42 +0000 (13:18 +0100)]
re PR c/41673 (variable-length array dereference inside sizeof gives "warning: dereferencing type-punned pointer will break strict-aliasing rules")

PR c/41673
* alias.c (get_alias_set): Call langhook before returning 0 for
types with structural equality.
* c-common.c (c_common_get_alias_set): Use alias set of element
type for arrays with structural comparison.

testsuite:
* gcc.dg/Wstrict-aliasing-bogus-vla-1.c: New test.

From-SVN: r153496

14 years agore PR middle-end/41805 (possible LTO termination bug)
Richard Guenther [Fri, 23 Oct 2009 12:01:21 +0000 (12:01 +0000)]
re PR middle-end/41805 (possible LTO termination bug)

2009-10-23  Richard Guenther  <rguenther@suse.de>

PR middle-end/41805
* cfgexpand.c (expand_call_stmt): Use gimple_has_side_effects and
gimple_call_nothrow_p.

From-SVN: r153495

14 years agore PR fortran/41758 ([Cleanup] Don't resolve expr in gfc_match_allocate)
Janus Weil [Fri, 23 Oct 2009 11:01:38 +0000 (13:01 +0200)]
re PR fortran/41758 ([Cleanup] Don't resolve expr in gfc_match_allocate)

2009-10-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41758
* match.c (conformable_arrays): Move to resolve.c.
(gfc_match_allocate): Don't resolve SOURCE expr yet, and move some
checks to resolve_allocate_expr.
* resolve.c (conformable_arrays): Moved here from match.c.
(resolve_allocate_expr): Moved some checks here from gfc_match_allocate.
(resolve_code): Resolve SOURCE tag for ALLOCATE expressions.

From-SVN: r153494

14 years agoacx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): Use = with test.
Rainer Orth [Fri, 23 Oct 2009 10:03:47 +0000 (10:03 +0000)]
acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): Use = with test.

config:
* acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): Use = with test.

From-SVN: r153493

14 years agore PR tree-optimization/41778 (missed dead store elimination)
Richard Guenther [Fri, 23 Oct 2009 09:34:46 +0000 (09:34 +0000)]
re PR tree-optimization/41778 (missed dead store elimination)

2009-10-23  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41778
* tree-ssa-pre.c (do_regular_insertion): Only insert if a
redundancy along a path in the CFG we want to optimize for speed
is going to be removed.
(execute_pre): Do partial-PRE only if the function is to be
optimized for speed.
(gate_pre): Do not turn off all of PRE when not optimizing a
function for speed.

* gcc.dg/tree-ssa/ssa-pre-26.c: New testcase.

From-SVN: r153491

14 years agoconfigure.ac (CLooG test): Use = with test.
Rainer Orth [Fri, 23 Oct 2009 09:24:25 +0000 (09:24 +0000)]
configure.ac (CLooG test): Use = with test.

* configure.ac (CLooG test): Use = with test.
* configure: Regenerate.

From-SVN: r153490

14 years agoFix long line
Eric Botcazou [Fri, 23 Oct 2009 05:48:23 +0000 (05:48 +0000)]
Fix long line

From-SVN: r153489

14 years agobuiltins.c (fold_builtin_cabs): Use validate_arg().
Kaveh R. Ghazi [Fri, 23 Oct 2009 05:28:25 +0000 (05:28 +0000)]
builtins.c (fold_builtin_cabs): Use validate_arg().

* builtins.c (fold_builtin_cabs): Use validate_arg().
(fold_builtin_cexp): Fix if-logic.
(fold_builtin_1): Check subtype for BUILT_IN_CIMAG.

From-SVN: r153488

14 years agoira-lives.c (process_single_reg_class_operands): Update the hard reg costs for all...
Jeff Law [Fri, 23 Oct 2009 03:43:14 +0000 (21:43 -0600)]
ira-lives.c (process_single_reg_class_operands): Update the hard reg costs for all the hard registers desired by the single reg...

* ira-lives.c (process_single_reg_class_operands): Update the
hard reg costs for all the hard registers desired by the single
reg class operand.

From-SVN: r153487

14 years agoDaily bump.
GCC Administrator [Fri, 23 Oct 2009 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r153486

14 years agosimplify-rtx.c (simplify_replace_fn_rtx): Add a fallback case for rtxes that aren...
Richard Sandiford [Thu, 22 Oct 2009 22:30:27 +0000 (22:30 +0000)]
simplify-rtx.c (simplify_replace_fn_rtx): Add a fallback case for rtxes that aren't handled specially.

gcc/
* simplify-rtx.c (simplify_replace_fn_rtx): Add a fallback case
for rtxes that aren't handled specially.

From-SVN: r153476

14 years agortl.h (shallow_copy_rtvec): Declare.
Richard Sandiford [Thu, 22 Oct 2009 22:30:12 +0000 (22:30 +0000)]
rtl.h (shallow_copy_rtvec): Declare.

gcc/
* rtl.h (shallow_copy_rtvec): Declare.
* rtl.c (shallow_copy_rtvec): New function.
* cselib.c (cselib_subst_to_values): Use it.  Only modify an
rtx field if the subrtx has changed.

From-SVN: r153475

14 years agom32c.c (m32c_function_value_regno_p): New function.
Anatoly Sokolov [Thu, 22 Oct 2009 19:46:26 +0000 (23:46 +0400)]
m32c.c (m32c_function_value_regno_p): New function.

* config/m32c/m32c.c (m32c_function_value_regno_p): New function.
(m32c_function_value): Make static, add new 'outgoing' argument.
(m32c_libcall_value): Make static, add new 'fun' argument.
(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
* config/m32c/m32c.h: (FUNCTION_VALUE, LIBCALL_VALUE): Remove.
(FUNCTION_VALUE_REGNO_P): Redefine, use m32c_function_value_regno_p.
* config/m32c/m32c-protos.h (m32c_function_value_regno_p): Declare.
(m32c_function_value, m32c_libcall_value): Delete declaration.

From-SVN: r153473

14 years agoMakefile.in (PLUGIN_HEADERS): Add output.h and IPA_UTILS_H.
Diego Novillo [Thu, 22 Oct 2009 19:34:26 +0000 (15:34 -0400)]
Makefile.in (PLUGIN_HEADERS): Add output.h and IPA_UTILS_H.

* Makefile.in (PLUGIN_HEADERS): Add output.h and
IPA_UTILS_H.

From-SVN: r153472

14 years agoouter-4.c: Adjust scan.
Razya Ladelsky [Thu, 22 Oct 2009 18:27:43 +0000 (18:27 +0000)]
outer-4.c: Adjust scan.

2009-10-22  Razya Ladelsky  <razya@il.ibm.com>

        * testsuite/gcc.dg/autopar/outer-4.c: Adjust scan.
        * testsuite/gcc.dg/autopar/outer-5.c: Adjust scan.
        * testsuite/gcc.dg/autopar/outer-5.c: Add scan optimized.
        * tree-cfg.c(gimple_duplicate_sese_tail): Fix typos/indentation/white space.

From-SVN: r153469

14 years agoPR cp-tools/39177 * tools/gnu/classpath/tools/jar/Creator.java
Richard Guenther [Thu, 22 Oct 2009 15:41:32 +0000 (15:41 +0000)]
PR cp-tools/39177 * tools/gnu/classpath/tools/jar/Creator.java

2009-10-22  Richard Guenther  <rguenther@suse.de>

        PR cp-tools/39177 * tools/gnu/classpath/tools/jar/Creator.java
        (writeCommandLineEntries):
        Do not use uninitialized manifest.
        * tools/classes/gnu/classpath/tools/jar/Creator.class: Re-generated.

From-SVN: r153461

14 years agolto-streamer.h (lto_symtab_merge_cgraph_nodes): Declare.
Richard Guenther [Thu, 22 Oct 2009 15:38:23 +0000 (15:38 +0000)]
lto-streamer.h (lto_symtab_merge_cgraph_nodes): Declare.

2009-10-22  Richard Guenther  <rguenther@suse.de>

* lto-streamer.h (lto_symtab_merge_cgraph_nodes): Declare.
* lto-symtab.c (struct lto_symtab_entry_def): Add node member.
(lto_symtab_merge): Do not merge cgraph nodes here.
(lto_symtab_resolve_can_prevail_p): Simplify.
(lto_symtab_resolve_symbols): Store cgraph node.
(lto_symtab_merge_decls_1): Simplify.  Do not drop non-prevailing
functions from the symtab.
(lto_symtab_merge_cgraph_nodes_1): New function.
(lto_symtab_merge_cgraph_nodes): Likewise.

lto/
* lto.c (lto_fixup_jump_functions): Remove.
(lto_fixup_decls): Do not fixup jump functions.
(read_cgraph_and_symbols): Schedule cgraph merging after
summary reading.  Schedule type and decl fixup before
summary reading.

From-SVN: r153460

14 years agore PR lto/41791 (LTO warnings with -Winline)
Richard Guenther [Thu, 22 Oct 2009 15:36:46 +0000 (15:36 +0000)]
re PR lto/41791 (LTO warnings with -Winline)

2009-10-22  Richard Guenther  <rguenther@suse.de>

PR lto/41791
* lto-streamer-out.c (lto_output_location): Stream the
system header flag.
* lto-streamer-in.c (lto_input_location): Likewise.

* g++.dg/lto/20091022-2_0.C: New testcase.

From-SVN: r153459

14 years agocfgloopmanip.c (duplicate_subloops): Export.
Razya Ladelsky [Thu, 22 Oct 2009 14:43:40 +0000 (14:43 +0000)]
cfgloopmanip.c (duplicate_subloops): Export.

2009-10-22  Razya Ladelsky  <razya@il.ibm.com>

        * cfgloopmanip.c  (duplicate_subloops): Export.
        * tree-parloops.c (loop_parallel_p): Dump if loop is innermost.
        (transform_to_exit_first_loop): Duplicate bbs starting from
        header up to loop->latch instead of exit->src.
        Initialize control variable to the correct number of iterations.
        (gather_scalar_reductions): Do not register double reductions.
        (parallelize_loops): Dump which loop is tested.
        Indicate whether the parallelized loop is inner or not.
        Remove the innermost-loop requirement.
        * cfgloop.h (duplicate_subloops): Export.
        * tree-cfg.c (add_phi_args_after_redirect): New function.
        (gimple_duplicate_sese_tail): Remove the no-subloops constraint.
        Call duplicate_subloops.
        Update number of iterations at the exit condition.
        Don't redirect nexits always to the loop exit.
        Redirect copied edges from latch to the loop exit.
        * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
        * testsuite/gcc.dg/autopar/outer-1.c: New testcase.
        * testsuite/gcc.dg/autopar/outer-2.c: New testcase.
        * testsuite/gcc.dg/autopar/outer-3.c: New testcase.
        * testsuite/gcc.dg/autopar/outer-4.c: New testcase.
        * testsuite/gcc.dg/autopar/outer-5.c: New testcase.
        * testsuite/gcc.dg/autopar/outer-6.c: New testcase.

From-SVN: r153457

14 years agore PR tree-optimization/40556 (ICE in IPA-CP with recursion)
Jan Hubicka [Thu, 22 Oct 2009 13:31:48 +0000 (15:31 +0200)]
re PR tree-optimization/40556 (ICE in IPA-CP with recursion)

* ipa-cp.c (ipcp_read_summary): Remove now invalid FIXME and
flag_ltrans check.
* ipa-inline.c (cgraph_mark_inline_edge,
cgraph_decide_inlining_of_small_function,
cgraph_decide_inlining, inline_read_summary): Disable indirect inlining
for WPA for time being.

PR tree-optimize/40556
* ipa-inline.c (cgraph_early_inlining): Fix iterations condition.

Fix PR number for earlier patch to:
PR lto/41730

From-SVN: r153456

14 years agore PR middle-end/41730 (ICE with -flto -fwhole-program)
Richard Guenther [Thu, 22 Oct 2009 13:10:55 +0000 (13:10 +0000)]
re PR middle-end/41730 (ICE with -flto -fwhole-program)

2009-10-22  Richard Guenther  <rguenther@suse.de>

PR lto/41730
* g++.dg/lto/20091022-1_0.C: New testcase.

From-SVN: r153455

14 years agolto-streamer.h (lto_symtab_clear_resolution): Remove.
Richard Biener [Thu, 22 Oct 2009 12:17:12 +0000 (12:17 +0000)]
lto-streamer.h (lto_symtab_clear_resolution): Remove.

2009-10-22  Richard Guenther  <rguenther@suse.de>

* lto-streamer.h (lto_symtab_clear_resolution): Remove.
* lto-symtab.c (lto_symtab_clear_resolution): Likewise.

lto/
* lto.c (lto_fixup_data_t): Remove free_list member.
(lto_fixup_tree): Do not insert into free_list.
(free_decl): Remove.
(lto_fixup_decls): Remove free-list handling.

From-SVN: r153452

14 years agoFix misapplied patch.
Jan Hubicka [Thu, 22 Oct 2009 11:42:29 +0000 (11:42 +0000)]
Fix misapplied patch.

From-SVN: r153451

14 years agore PR tree-optimization/40556 (ICE in IPA-CP with recursion)
Jan Hubicka [Thu, 22 Oct 2009 11:40:18 +0000 (13:40 +0200)]
re PR tree-optimization/40556 (ICE in IPA-CP with recursion)

PR tree-optimize/40556
* ipa-reference.c (has_proper_scope_for_analysis): Add fixme about global vars.
(check_call): Handle only indirect calls.
(propagate_bits): Update comment.
(write_node_summary_p): Turn bogus check to assert.
(ipa_reference_write_summary): Stream calls_read_all properly.
(ipa_reference_read_summary): Stream in calls_read_all properly.
(read_write_all_from_decl): New function.
(propagate): Handle OVERWRITABLE nodes and external calls here.
* ipa-pre-const.c (check_call): In IPA mode handle indirect calls
only.
(analyze_function): Do not check visibility here.
(add_new_function): We summary OVERWRITABLE too.
(generate_summary): Stream OVERWRITABLE nodes too.
(propagate): Handle external calls and OVERWRITABLE nodes here.
(local_pure_const): Check visibility here.

From-SVN: r153450

14 years agoipa-cp.c (ipcp_write_summary, [...]): New functions.
Jan Hubicka [Thu, 22 Oct 2009 10:02:29 +0000 (12:02 +0200)]
ipa-cp.c (ipcp_write_summary, [...]): New functions.

* ipa-cp.c (ipcp_write_summary, ipcp_read_summary): New functions.
(pass_ipa_cp): Register them.
(ipcp_init_stage): Analyze all functions for whopr/lto.
(ipcp_propagate_stage): Skip external calls.
(ipcp_iterate_stage): Call ipa_update_after_lto_read if needed.
* ipa-reference.c (write_node_summary_p): Fix thinko about availability.
* cgraphunit.c (ipa_passes): When in lto, ne er produce new summaries;
when in ltrans, skip executing of ipa passes since everything should've
been done.
* ipa-inline.c (cgraph_decide_inlining): Remove FIXMEs.
(inline_generate_summary): Likewise.
(inline_read_summary): New function.
(inline_write_summary): New function.
(pass_ipa_inline): Register new hooks.
* ipa-prop.c: Inlcude lto-streamer.h
(ipa_edge_args_vector): Update declaration.
(ipa_count_arguments, ipa_compute_jump_functions,
ipa_free_edge_args_substructures): Move ipa_edge_args_vector into ggc.
(ipa_write_jump_function, ipa_read_jump_function, ipa_write_node_info,
ipa_read_node_info): New static functions.
(ipa_prop_write_jump_functions, ipa_prop_read_jump_functions): Update.
(duplicate_array): Use xmalloc.
(duplicate_ggc_array): New.
(ipa_edge_duplication_hook): Use it.
(ipa_update_after_lto_read): New function.
* ipa-prop.h (ipa_prop_write_jump_functions,
ipa_prop_read_jump_functions): Declare.
(ipa_pass_through_data, ipa_ancestor_jf_data, ipa_member_ptr_cst,
jump_func_value, ipa_member_ptr_cst, ipa_edge_args): Add GTY markers.
(ipa_edge_args_vector): Move into GGC.
(ipa_check_create_edge_args): Update.
(ipa_update_after_lto_read): New.
* passes.c (ipa_write_summaries_1): When in wpa, do not write summaries.
(ipa_read_summaries): When in ltrans, so not read summaries.
* lto-streamer.c (lto_get_section_name): Add LTO_section_jump_functions.
* lto-streamer.h (LTO_section_jump_functions): New section.
(produce_asm): Declare.
* lto-cgraph.c (output_cgraph): Output edges in reverse order.
* lto-streamer-out.c (produce_asm): Export.
* lto-streamer-in.c: Include tree-pass.h
(input_function): Free dominance info when done.
(lto_read_body): Push ipa_inline in ltrans stage.
* gengtype.c (open_base_files): Add ipa-prop.h into includes.
* Makefile.in (GTFILES): Add ipa-prop.h

* lto.c (lto_fixup_jump_functions): New function.
(lto_fixup_decls): Use it.

From-SVN: r153449

14 years agoinstall.texi: Document --enable-browser-plugin.
Matthias Klose [Thu, 22 Oct 2009 09:25:51 +0000 (09:25 +0000)]
install.texi: Document --enable-browser-plugin.

gcc/

2009-10-22  Matthias Klose  <doko@ubuntu.com>

        * doc/install.texi: Document --enable-browser-plugin.

libjava/

2009-10-22  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Rename --enable-plugin to --enable-browser-plugin,
        pass --{en,dis}able-plugin to the classpath configure.
        * configure: Regenerate.

From-SVN: r153448

14 years agoconfigure.ac: Do not set LIBS for ppl/cloog checks.
Richard Guenther [Thu, 22 Oct 2009 08:56:00 +0000 (08:56 +0000)]
configure.ac: Do not set LIBS for ppl/cloog checks.

2009-10-22  Richard Guenther  <rguenther@suse.de>

* configure.ac: Do not set LIBS for ppl/cloog checks.  Disable
cloog if the ppl version check failed.  Move flags saving
before setting in libelf check.
* configure: Regenerate.

From-SVN: r153447

14 years agore PR fortran/41781 ([OOP] bogus undefined label error with SELECT TYPE.)
Janus Weil [Thu, 22 Oct 2009 08:53:26 +0000 (10:53 +0200)]
re PR fortran/41781 ([OOP] bogus undefined label error with SELECT TYPE.)

2009-10-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41781
* resolve.c (resolve_codes): Don't clear 'cs_base' for BLOCK constructs,
to make sure labels are treated correctly.
* symbol.c (gfc_get_st_label): Create labels in the right namespace.
For BLOCK constructs go into the parent namespace.

2009-10-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41781
* gfortran.dg/goto_8.f90: New test case.

From-SVN: r153446

14 years agoinvoke.texi (fira-loop-pressure): Update default value.
Vladimir Makarov [Thu, 22 Oct 2009 01:44:39 +0000 (01:44 +0000)]
invoke.texi (fira-loop-pressure): Update default value.

2009-10-21  Vladimir Makarov  <vmakarov@redhat.com>

* doc/invoke.texi (fira-loop-pressure): Update default value.
* opts.c (decode_options): Remove default value setting for
flag_ira_loop_pressure.
* config/ia64/ia64.c (ia64_override_options): Set
flag_ira_loop_pressure up for -O3.
* config/rs6000/rs6000.c (rs6000_override_options): Ditto.

From-SVN: r153445