OSDN Git Service

pf3gnuchains/gcc-fork.git
14 years ago Allow no-capture lambdas to convert to function pointer.
jason [Tue, 27 Oct 2009 21:58:09 +0000 (21:58 +0000)]
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().

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

14 years ago * gcc-interface/decl.c (purpose_member_field): New static function.
ebotcazou [Tue, 27 Oct 2009 20:24:31 +0000 (20:24 +0000)]
* gcc-interface/decl.c (purpose_member_field): New static function.
(annotate_rep): Use it instead of purpose_member.

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

14 years ago PR c++/41819
rth [Tue, 27 Oct 2009 20:09:07 +0000 (20:09 +0000)]
    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.

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

14 years ago * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
ebotcazou [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.
(db_action_for): Likewise.

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

14 years ago2009-10-27 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
espindola [Tue, 27 Oct 2009 18:17:13 +0000 (18:17 +0000)]
2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

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

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

14 years ago2009-10-27 Kai Tietz <kai.tietz@onevision.com>
ktietz [Tue, 27 Oct 2009 17:14:47 +0000 (17:14 +0000)]
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

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

14 years ago * ChangeLog: Fix formatting.
uros [Tue, 27 Oct 2009 17:03:47 +0000 (17:03 +0000)]
* ChangeLog: Fix formatting.
* testsuite/ChangeLog: Ditto.

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

14 years ago2009-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Oct 2009 15:52:44 +0000 (15:52 +0000)]
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.

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

14 years ago PR c/41842
jakub [Tue, 27 Oct 2009 15:50:50 +0000 (15:50 +0000)]
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.

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

14 years ago2009-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Oct 2009 15:16:35 +0000 (15:16 +0000)]
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.

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

14 years ago2009-10-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Oct 2009 14:14:44 +0000 (14:14 +0000)]
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

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

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

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

14 years ago2009-10-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Oct 2009 14:02:58 +0000 (14:02 +0000)]
2009-10-27  Robert Dewar  <dewar@adacore.com>

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

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

14 years ago2009-10-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Oct 2009 13:51:46 +0000 (13:51 +0000)]
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.

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

14 years ago2009-10-27 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 27 Oct 2009 13:22:25 +0000 (13:22 +0000)]
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

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

14 years ago2009-10-27 Vincent Celier <celier@adacore.com>
charlet [Tue, 27 Oct 2009 13:16:48 +0000 (13:16 +0000)]
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.

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

14 years ago2009-10-27 Arnaud Charlet <charlet@adacore.com>
charlet [Tue, 27 Oct 2009 13:06:06 +0000 (13:06 +0000)]
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.

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

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

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

14 years ago2009-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Oct 2009 11:30:59 +0000 (11:30 +0000)]
2009-10-27  Richard Guenther  <rguenther@suse.de>

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

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

14 years ago PR bootstrap/41451
aldyh [Tue, 27 Oct 2009 11:18:12 +0000 (11:18 +0000)]
PR bootstrap/41451
* fold-const.c (fold_binary_loc): Do not call
protected_set_expr_location.

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

14 years ago PR c++/41020
jakub [Tue, 27 Oct 2009 10:28:48 +0000 (10:28 +0000)]
PR c++/41020
* g++.dg/lookup/extern-c-redecl5.C: Fix up regexp.

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

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

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

14 years ago * target.h (have_conditional_execution): Add a new target hook function.
carrot [Tue, 27 Oct 2009 09:06:36 +0000 (09:06 +0000)]
* 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.

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

14 years ago2009-10-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 27 Oct 2009 01:18:10 +0000 (01:18 +0000)]
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.

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

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

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

14 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 22:00:52 +0000 (22:00 +0000)]
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.

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

14 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:59:17 +0000 (21:59 +0000)]
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.

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

14 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:58:06 +0000 (21:58 +0000)]
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.

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

14 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:57:10 +0000 (21:57 +0000)]
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.

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

14 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:55:59 +0000 (21:55 +0000)]
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.

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

14 years ago PR libstdc++/38923
jakub [Mon, 26 Oct 2009 20:28:24 +0000 (20:28 +0000)]
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.

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

14 years ago PR bootstrap/41345
jakub [Mon, 26 Oct 2009 20:21:09 +0000 (20:21 +0000)]
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.

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

14 years ago PR debug/41828
jakub [Mon, 26 Oct 2009 20:18:26 +0000 (20:18 +0000)]
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.

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

14 years ago PR c++/38796, Core issue 906
jason [Mon, 26 Oct 2009 19:07:14 +0000 (19:07 +0000)]
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.

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

14 years agoFix PR c++/41785
dodji [Mon, 26 Oct 2009 18:31:22 +0000 (18:31 +0000)]
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.

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

14 years ago * MAINTAINERS: Add myself as a maintainer for the RX port.
nickc [Mon, 26 Oct 2009 16:30:15 +0000 (16:30 +0000)]
    * 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.

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

14 years ago2009-10-26 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 26 Oct 2009 16:05:36 +0000 (16:05 +0000)]
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.

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

14 years ago2009-10-26 Andrew Pinski <pinskia@gcc.gnu.org>
pinskia [Mon, 26 Oct 2009 15:59:50 +0000 (15:59 +0000)]
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.

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

14 years agoFix PR c++/41020
dodji [Mon, 26 Oct 2009 14:40:16 +0000 (14:40 +0000)]
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.

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

14 years ago PR tree-optimization/41783
matz [Mon, 26 Oct 2009 13:00:36 +0000 (13:00 +0000)]
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.

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

14 years ago2009-10-26 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 26 Oct 2009 12:21:50 +0000 (12:21 +0000)]
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.

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

14 years ago2009-10-26 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 26 Oct 2009 11:16:10 +0000 (11:16 +0000)]
2009-10-26  Richard Guenther  <rguenther@suse.de>

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

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

14 years ago2009-10-26 Johannes Singler <singler@kit.edu>
singler [Mon, 26 Oct 2009 10:11:36 +0000 (10:11 +0000)]
2009-10-26  Johannes Singler <singler@kit.edu>

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

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

14 years ago2009-10-26 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 26 Oct 2009 09:08:03 +0000 (09:08 +0000)]
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.

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

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

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

14 years ago PR target/41813
kkojima [Sun, 25 Oct 2009 23:10:22 +0000 (23:10 +0000)]
PR target/41813
* config/sh/sh.md (stuff_delay_slot): Don't set T_REG in pattern.

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

14 years ago2009-10-25 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 25 Oct 2009 20:50:07 +0000 (20:50 +0000)]
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.

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

14 years agogcc/
rsandifo [Sun, 25 Oct 2009 15:59:17 +0000 (15:59 +0000)]
gcc/
* config/mips/mips.c (mips_restore_gp_from_cprestore_slot): Emit
a note when expanding to nothing.

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

14 years ago2009-10-25 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 25 Oct 2009 12:03:07 +0000 (12:03 +0000)]
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.

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

14 years ago * config/mips/predicates.md (hilo_operand): New predicate.
nemet [Sun, 25 Oct 2009 07:03:53 +0000 (07:03 +0000)]
* 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.

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

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

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

14 years ago2009-10-24 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 24 Oct 2009 16:50:41 +0000 (16:50 +0000)]
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.

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

14 years ago PR middle-end/19154
hutchinsonandy [Sat, 24 Oct 2009 15:39:23 +0000 (15:39 +0000)]
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.

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

14 years agoPR middle-end/19154
hutchinsonandy [Sat, 24 Oct 2009 15:36:40 +0000 (15:36 +0000)]
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.

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

14 years ago * ipa-reference.c (check_call): Noreturn notrhow calls do not write
hubicka [Sat, 24 Oct 2009 13:32:12 +0000 (13:32 +0000)]
* 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.

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

14 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
ebotcazou [Sat, 24 Oct 2009 11:12:21 +0000 (11:12 +0000)]
* 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.

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

14 years agolibada/
ebotcazou [Sat, 24 Oct 2009 10:58:31 +0000 (10:58 +0000)]
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.

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

14 years ago2009-10-24 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 24 Oct 2009 10:11:46 +0000 (10:11 +0000)]
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.

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

14 years ago * tree-ssa-alias.c (nonaliasing_component_refs_p): Rename into...
ebotcazou [Sat, 24 Oct 2009 10:05:23 +0000 (10:05 +0000)]
* 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.

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

14 years ago PR c/40033
jsm28 [Sat, 24 Oct 2009 00:44:17 +0000 (00:44 +0000)]
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.

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

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

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

14 years agoFix for PR c++/40808
dodji [Fri, 23 Oct 2009 21:38:50 +0000 (21:38 +0000)]
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

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

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

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

14 years ago * semantics.c (outer_lambda_capture_p): New fn.
jason [Fri, 23 Oct 2009 18:08:18 +0000 (18:08 +0000)]
* semantics.c (outer_lambda_capture_p): New fn.
(thisify_lambda_field): Factor out...
(add_default_capture): ...from here.
(finish_id_expression): Use them.

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

14 years ago Core issue 899
jason [Fri, 23 Oct 2009 18:08:10 +0000 (18:08 +0000)]
Core issue 899
* call.c (add_function_candidate): Only permit explicit conversion
ops if copy ctor was called with a single argument.

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

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

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

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

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

14 years ago * g++.dg/abi/rtti3.C, g++.dg/abi/thunk4.C: Skip for *-*-mingw* and
jsm28 [Fri, 23 Oct 2009 17:37:13 +0000 (17:37 +0000)]
* 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.

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

14 years ago2009-10-23 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 23 Oct 2009 16:10:08 +0000 (16:10 +0000)]
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.

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

14 years ago2009-10-23 Kai Tietz <kai.tietz@onevision.com>
ktietz [Fri, 23 Oct 2009 15:08:10 +0000 (15:08 +0000)]
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.

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

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

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

14 years ago PR c/41673
jsm28 [Fri, 23 Oct 2009 12:18:42 +0000 (12:18 +0000)]
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.

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

14 years ago2009-10-23 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 23 Oct 2009 12:01:21 +0000 (12:01 +0000)]
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.

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

14 years ago2009-10-23 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 23 Oct 2009 11:01:38 +0000 (11:01 +0000)]
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.

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

14 years ago config:
ro [Fri, 23 Oct 2009 10:03:47 +0000 (10:03 +0000)]
config:
* acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): Use = with test.

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

14 years ago2009-10-23 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 23 Oct 2009 09:34:46 +0000 (09:34 +0000)]
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.

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

14 years ago * configure.ac (CLooG test): Use = with test.
ro [Fri, 23 Oct 2009 09:24:25 +0000 (09:24 +0000)]
* configure.ac (CLooG test): Use = with test.
* configure: Regenerate.

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

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

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

14 years ago * builtins.c (fold_builtin_cabs): Use validate_arg().
ghazi [Fri, 23 Oct 2009 05:28:25 +0000 (05:28 +0000)]
* builtins.c (fold_builtin_cabs): Use validate_arg().
(fold_builtin_cexp): Fix if-logic.
(fold_builtin_1): Check subtype for BUILT_IN_CIMAG.

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

14 years ago * ira-lives.c (process_single_reg_class_operands): Update the
law [Fri, 23 Oct 2009 03:43:14 +0000 (03:43 +0000)]
* 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.

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

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

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

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

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

14 years agogcc/
rsandifo [Thu, 22 Oct 2009 22:30:12 +0000 (22:30 +0000)]
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.

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

14 years ago * config/m32c/m32c.c (m32c_function_value_regno_p): New function.
aesok [Thu, 22 Oct 2009 19:46:26 +0000 (19:46 +0000)]
* 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.

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

14 years ago * Makefile.in (PLUGIN_HEADERS): Add output.h and
dnovillo [Thu, 22 Oct 2009 19:34:26 +0000 (19:34 +0000)]
* Makefile.in (PLUGIN_HEADERS): Add output.h and
IPA_UTILS_H.

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

14 years ago2009-10-22 Razya Ladelsky <razya@il.ibm.com>
razya [Thu, 22 Oct 2009 18:27:43 +0000 (18:27 +0000)]
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.

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

14 years ago2009-10-22 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 22 Oct 2009 15:41:32 +0000 (15:41 +0000)]
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.

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

14 years ago2009-10-22 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 22 Oct 2009 15:38:23 +0000 (15:38 +0000)]
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.

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

14 years ago2009-10-22 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 22 Oct 2009 15:36:46 +0000 (15:36 +0000)]
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.

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

14 years ago2009-10-22 Razya Ladelsky <razya@il.ibm.com>
razya [Thu, 22 Oct 2009 14:43:40 +0000 (14:43 +0000)]
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.

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

14 years ago * ipa-cp.c (ipcp_read_summary): Remove now invalid FIXME and
hubicka [Thu, 22 Oct 2009 13:31:48 +0000 (13:31 +0000)]
* 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

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

14 years ago2009-10-22 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 22 Oct 2009 13:10:55 +0000 (13:10 +0000)]
2009-10-22  Richard Guenther  <rguenther@suse.de>

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

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

14 years ago2009-10-22 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 22 Oct 2009 12:17:12 +0000 (12:17 +0000)]
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.

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

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

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

14 years ago PR tree-optimize/40556
hubicka [Thu, 22 Oct 2009 11:40:18 +0000 (11:40 +0000)]
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.

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

14 years ago * ipa-cp.c (ipcp_write_summary, ipcp_read_summary): New functions.
hubicka [Thu, 22 Oct 2009 10:02:29 +0000 (10:02 +0000)]
* 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.

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

14 years agogcc/
doko [Thu, 22 Oct 2009 09:25:51 +0000 (09:25 +0000)]
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.

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

14 years ago2009-10-22 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 22 Oct 2009 08:56:00 +0000 (08:56 +0000)]
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.

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

14 years ago2009-10-22 Janus Weil <janus@gcc.gnu.org>
janus [Thu, 22 Oct 2009 08:53:26 +0000 (08:53 +0000)]
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.

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

14 years ago2009-10-21 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 22 Oct 2009 01:44:39 +0000 (01:44 +0000)]
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.

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