1. 09 Mar, 2012 9 commits
    • re PR tree-optimization/51988 (value_replacement in PHIOPT should handle even… · 210ac0b7
      re PR tree-optimization/51988 (value_replacement in PHIOPT should handle even the cases where there are other PHIs even with non equal value)
      
      2012-03-09  Andrew Pinski  <apinski@cavium.com>
      
      	PR middle-end/51988
      	* tree-ssa-phiopt.c: Include tree-pretty-print.h for
      	print_generic_expr.
      	(tree_ssa_phiopt_worker): Go through all the PHIs for
      	value_replacement instead of just the singleton one.
      	(value_replacement): Change return type to int.  Return 0 instead of
      	false.
      	Allow the middle basic block to contain more than just the definings
      	tatement. 
      	Handle non empty middle basic blocks.
      	* Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
      
      2012-03-09  Andrew Pinski  <apinski@cavium.com>
      
      	PR middle-end/51988
      	* gcc.dg/tree-ssa/phi-opt-8.c: New testcase.
      	* gcc.dg/tree-ssa/phi-opt-9.c: New testcase.
      
      From-SVN: r185131
      Andrew Pinski committed
    • tree-scalar-evolution (interpret_rhs_expr): generate chrec for array reference… · bef28ced
      tree-scalar-evolution (interpret_rhs_expr): generate chrec for array reference and component reference.
      
      2012-03-09  Jiangning Liu  <jiangning.liu@arm.com>                                                        
      
      	* tree-scalar-evolution (interpret_rhs_expr): generate chrec for
      	array reference and component reference.
      	(analyze_scalar_evolution_for_address_of): New.
      
      2012-03-09  Jiangning Liu  <jiangning.liu@arm.com>                                                        
      
      	* gcc.dg/tree-ssa/scev-3.c: New.
      	* gcc.dg/tree-ssa/scev-4.c: New.
      
      From-SVN: r185129
      Jiangning Liu committed
    • compiler: Be more careful to follow GENERIC type rules. · 68c5d97b
      	* go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
      	to the lhs type if necessary.
      
      From-SVN: r185128
      Ian Lance Taylor committed
    • compiler: Correct handling of sink receiver. · 762c2799
      From-SVN: r185127
      Ian Lance Taylor committed
    • debug/dwarf: Support DWARF versions 3 and 4. · 896977b3
      From-SVN: r185126
      Ian Lance Taylor committed
    • re PR target/49862 (bfin.c warnings) · 9916d7ea
      	PR target/49862
      	* config/bfin/bfin.c (hwloop_optimize): Fix unused variable
      	warnings.
      	(hwloop_pattern_reg): Fix set but not used warning.
      	(bfin_reorg_loops): Remove unused parameter.
      	(bfin_reorg): Update use of bfin_reorg_loops.
      
      From-SVN: r185125
      Jie Zhang committed
    • debug/elf: Don't crash if line numbers are not available. · 060b4284
      From-SVN: r185124
      Ian Lance Taylor committed
    • Use word_mode to push/pop register for x86 · cc845923
      2012-03-08  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
      	with integer parameters in registers.
      	(gen_push): Push register in word_mode instead of Pmode.
      	(ix86_emit_save_regs): Likewise.
      	(ix86_emit_save_regs_using_mov): Save integer registers in
      	word_mode.
      	(gen_pop): Pop register in word_mode instead of Pmode.
      	(ix86_emit_restore_regs_using_pop): Likewise.
      	(ix86_expand_prologue): Replace Pmode with word_mode for push
      	immediate.  Use ix86_gen_pro_epilogue_adjust_stack.  Save and
      	restore RAX and R10 in word_mode.
      	(ix86_emit_restore_regs_using_mov): Restore integer registers
      	in word_mode.
      	(ix86_expand_split_stack_prologue): Save R10_REG and restore in
      	word_mode.
      	(ix86_split_to_parts): Use word_mode with PUT_MODE for push.
      	(ix86_split_long_move): Likewise.
      
      	* config/i386/i386.md (W): New.
      	(*push<mode>2_prologue): Replace :P with :W.
      	(*pop<mode>1): Likewise.
      	(*pop<mode>1_epilogue): Likewise.
      	(push/pop peephole2): Use word_mode scratch registers.
      
      From-SVN: r185123
      H.J. Lu committed
    • Daily bump. · 78d16236
      From-SVN: r185120
      GCC Administrator committed
  2. 08 Mar, 2012 12 commits
  3. 07 Mar, 2012 19 commits
    • cp-demangle.c (cplus_demangle_operators): Add li. · c93ea196
      	* cp-demangle.c (cplus_demangle_operators): Add li.
      	(d_unqualified_name): Handle it specially.
      
      From-SVN: r185082
      Jason Merrill committed
    • re PR target/52503 (sh-wrs-vxworks: too many target masks) · bed9e870
      	PR target/52503
      	* config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
      	* config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
      	(SUBTARGET_OVERRIDE_OPTIONS): Define.
      
      
      Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
      
      From-SVN: r185081
      Oleg Endo committed
    • re PR c++/52521 ([C++11] user defined literals and order of declaration) · 5ceb809d
      	PR c++/52521
      	* mangle.c (write_literal_operator_name): The length comes after the
      	operator prefix.
      
      From-SVN: r185079
      Jason Merrill committed
    • decl.c (gnat_to_gnu_entity): Do not set flags on the DECL node built for a type… · 12fc7dea
      decl.c (gnat_to_gnu_entity): Do not set flags on the DECL node built for a type which has a non-trivial...
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
      	DECL node built for a type which has a non-trivial equivalent type.
      
      From-SVN: r185076
      Eric Botcazou committed
    • gigi.h (rest_of_type_decl_compilation): Delete. · 50741117
      	* gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
      	* gcc-interface/decl.c (defer_finalize_level): Likewise.
      	(defer_finalize_list): Likewise.
      	(gnat_to_gnu_entity): Delete references to above variables and do not
      	call rest_of_type_decl_compilation.
      	(rest_of_type_decl_compilation): Delete.
      	(rest_of_type_decl_compilation_no_defer): Likewise.
      	* gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
      	rest_of_type_decl_compilation.
      	(create_type_decl): Likewise.
      	(update_pointer_to): Likewise.
      
      From-SVN: r185075
      Eric Botcazou committed
    • predicates.md (x86_64_zext_general_operand): New. · ca538e97
      	* config/i386/predicates.md (x86_64_zext_general_operand): New.
      	* config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
      	predicate to x86_64_zext_general_operand.  Accept "Z" constraint.
      
      From-SVN: r185073
      Uros Bizjak committed
    • trans.c (Identifier_to_gnu): Don't unshare initializer. · 6ba4f08f
      	* gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
      	(add_decl_expr): Mark external DECLs as used.
      	* gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
      
      From-SVN: r185072
      Eric Botcazou committed
    • Fix an unwinding bug for functions with dynamic stack frames. · 95f2389a
      	* config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
      	REG_CFA_* notes for the stack pointer.
      	(tilegx_expand_epilogue): Restore stack pointer by adjusting it by
      	EH_RETURN_STACKADJ_RTX.
      	* config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
      	generate REG_CFA_* notes for the stack pointer.
      	(tilepro_expand_epilogue): Restore stack pointer by adjusting it
      	by EH_RETURN_STACKADJ_RTX.
      
      From-SVN: r185070
      Walter Lee committed
    • s-ransee-vms.adb: New file. · 5869104b
      2012-03-07  Tristan Gingold  <gingold@adacore.com>
      
      	* s-ransee-vms.adb: New file.
      	* gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r185067
      Tristan Gingold committed
    • rtsfind.ads: Add support for finding Super_String types. · 3058f181
      2012-03-07  Bob Duff  <duff@adacore.com>
      
      	* rtsfind.ads: Add support for finding Super_String types.
      	* sem_util.ads, sem_util.adb (Is_Bounded_String): New function
      	to determine whether a given type is a bounded string type.
      	(Is_Fully_Initialized_Type): Return True for bounded
      	string types, to suppress bogus warnings.
      	* exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
      	strings: equality composes. This allows us to remove default values in
      	super strings.
      	* a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
      	* exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
      
      From-SVN: r185066
      Bob Duff committed
    • [multiple changes] · bde73c6b
      2012-03-07  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
      	reformatting.
      
      2012-03-07  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* gnat_ugn.texi: gnatpp: fix paragraph about sources with
      	preprocessor directives.
      
      2012-03-07  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
      	(Enter_Task): Call prctl when relevant.
      
      2012-03-07  Tristan Gingold  <gingold@adacore.com>
      
      	* s-osinte-vms.ads: pthread_mutex_setname_np: new function.
      
      From-SVN: r185065
      Arnaud Charlet committed
    • invoke.texi (AVR Built-in Macros): Correct condition for when __AVR_3_BYTE_PC__ is defined. · 0bd5f4dd
      	* doc/invoke.texi (AVR Built-in Macros): Correct condition for
      	when __AVR_3_BYTE_PC__ is defined.
      
      From-SVN: r185059
      Georg-Johann Lay committed
    • i386.c (ix86_print_operand_punct_valid_p): Add '^'. · 397c0dc8
      	* config/i386/i386.c (ix86_print_operand_punct_valid_p): Add '^'.
      	(ix86_print_operand): Handle '^'.
      	* config/i386/i386.md (*strmovdi_rex_1): Macroize memory operands
      	using P mode iterator.  Add %^ to asm template to conditionally emit
      	addr32 prefix.
      	(*rep_movdi_rex64): Ditto.
      	(*strsetdi_rex_1): Ditto.
      	(*rep_stosdi_rex64): Ditto.
      	(*strmov{si,hi,qi}_1): Add %^ to asm template to
      	conditionally emit addr32 prefix.
      	(*rep_mov{si,qi}): Ditto.
      	(*strset{si,hi,qi}): Ditto.
      	(*rep_stos{si,qi}): Ditto.
      	(*cmpstrnqi_nz_1): Ditto.
      	(*cmpstrnqi_1): Ditto.
      	(*strlenqi_1): Ditto.
      
      From-SVN: r185058
      Uros Bizjak committed
    • Pass pointers in word_mode instead of Pmode · cccff71a
      2012-03-07  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (function_value_64): Return pointers in
      	word_mode instead of Pmode.
      	(ix86_promote_function_mode): Likewise.
      
      From-SVN: r185057
      H.J. Lu committed
    • [multiple changes] · 6eddd7b4
      2012-03-07  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Process_Formals): a generic subprogram with
      	a formal incomplete type does not require a freeze node.
      
      2012-03-07  Bob Duff  <duff@adacore.com>
      
      	* sem_util.ads: Minor reformatting.
      
      2012-03-07  Geert Bosch  <bosch@adacore.com>
      
      	* targparm.ads: New target parameter Atomic_Sync_Default,
      	defaulting to True.
      	* targparm.adb (Get_Target_Parameters): Add processing for
      	Atomic_Sync_Default.
      	* gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
      	based on ASD.
      
      From-SVN: r185056
      Arnaud Charlet committed
    • sem_ch3.adb (Analyze_Object_Declaration): If the object declaration has an init… · 84f4072a
      sem_ch3.adb (Analyze_Object_Declaration): If the object declaration has an init expression then stop the analysis of the...
      
      2012-03-07  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): If the object
      	declaration has an init expression then stop the analysis of the
      	object declaration if the expression which initializes the object
      	is a call to an inlined function which returns an unconstrained
      	and has been expanded into a procedure call.
      	* sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
      	support to handle selected components.
      	* sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
      	documentation.
      	* sem_ch6.adb (Check_And_Build_Body_To_Inline): New
      	subprogram which implements the checks required by the
      	new rules for frontend inlining and builds the body to inline.
      	(Analyze_Subprogram_Body_Helper): Move code that
      	checks inlining of subprogram that has nested subprogram
      	to Check_And_Build_Body_To_Inline.  Replace call to
      	Build_Body_To_Inline by call to the new subprogram
      	Check_And_Build_Body_To_Inline.
      	(Cannot_Inline): New implementation.
      	* sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
      	New subprogram.
      	* sem_util.ad[sb] (Must_Inline): New subprogram.
      	(Returns_Unconstrained_Type): New subprogram.
      	* sem_res.adb (Resolve_Call): Do not create a transient scope
      	for inlined calls.
      	* inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
      	* inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
      	to false the variable Analyzing_Inlined_Bodies.  Fix comments.
      	* exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
      	* exp_ch6.ads (List_Inlining_Info): New subprogram.
      	* exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
      	(Expand_Call.Do_Inline_Always): New subprogram.
      	(In_Unfrozen_Instance): Move the declaration of this subprogram.
      	(Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
      	(Expand_Inlined_Call): Adding new support for inlining functions
      	that return unconstrained types.
      	(List_Inlining_Info): New subprogram.
      	* debug.adb Document flags -gnatd.j and -gnatd.k
      	* gnat1drv.adb Add call to generate the new listing of inlined
      	calls and calls passed to the backend.
      
      From-SVN: r185055
      Javier Miranda committed