1. 20 Jul, 2009 14 commits
    • [multiple changes] · 1be9633f
      2009-07-20  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
      	for VMS, only rewrite the first component of the associated exception's
      	aggregate init (as 'V'), and eliminate the bogus rewrites of the second
      	and third components  that were being replaced with 'M' and 'S'.
      
      2009-07-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
      	Also do not generate error when parsing a spec in CodePeer mode.
      
      2009-07-20  Javier Miranda  <miranda@adacore.com>
      
      	* checks.adb (Apply_Access_Check): Avoid checks on availability of
      	runtime function Offset_To_Top_Ptr when compiling with no tagged
      	types expansion.
      	* exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
      	adding code to the init proc when compiling for VM backends.
      
      2009-07-20  Vincent Celier  <celier@adacore.com>
      
      	* switch-m.adb (Normalize_Compiler_Switches): Take into account
      	switches -gnatw.?
      
      2009-07-20  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_dist.adb, exp_dist.adb: Minor reformatting
      
      	* Make-generated.in: New file.
      
      	* gcc-interface/Make-lang.in: Use Make-generated.in fragment.
      
      From-SVN: r149819
      Arnaud Charlet committed
    • sem_util.ads, [...] (Check_Dynamically_Tagged_Expression): New subprogram. · 4755cce9
      2009-07-20  Javier Miranda  <miranda@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
      	subprogram.
      	* sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
      	dynamically tagged expression.
      	* sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
      	factorizes code.
      	* sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
      	* sem_ch8.adb (Analyze_Object_Renaming): Ditto.
      
      From-SVN: r149817
      Javier Miranda committed
    • [multiple changes] · 46fe0142
      2009-07-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
      	CodePeer_Mode is set, to benefit from full front-end expansion
      	(e.g. generics).
      
      2009-07-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb: Add guard.
      
      	* exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
      	for possible attribute definition of External_Tag, in case clause
      	appears in the private part of a package.
      
      From-SVN: r149816
      Arnaud Charlet committed
    • [multiple changes] · ff7139c3
      2009-07-20  Vadim Godunko  <godunko@adacore.com>
      
      	* a-coorma.adb: Minor reformatting.
      
      2009-07-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
      	access return types.
      	* sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
      	provide an itype reference to gigi to force elaboration of the subtype
      	at the proper point.
      
      2009-07-20  Tristan Gingold  <gingold@adacore.com>
      
      	* g-expect.adb: Avoid closeing already closed handle.
      
      2009-07-20  Robert Dewar  <dewar@adacore.com>
      
      	* sprint.adb (Write_Subprogram_Name): New procedure to output
      	subprogram name with possible preceding $ (replaces
      	Note_Implicit_Run_Time_Call).
      
      From-SVN: r149812
      Arnaud Charlet committed
    • [multiple changes] · 6fb4cdde
      2009-07-20  Robert Dewar  <dewar@adacore.com>
      
      	* vms_data.ads: Minor reformatting
      
      	* einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
      	applies to base type.
      	(Parent_Subtype): Now allowed on record subtype, applies to base type
      	* exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
      	for case of fully repped tagged type.
      	(Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
      	tag save/restore for fully repped tagged type case.
      	* exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
      	* fe.h (Is_Fully_Repped_Tagged_Type): New function
      	* sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
      	overlap of tagged type components with parent type if parent type is
      	fully repped.
      	* sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
      
      	* sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
      	comparisons.
      	(Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
      	(Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
      
      	* gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
      	logical operators (AND/OR/XOR), not comparison operators.
      
      	* sprint.ads: Minor reformatting
      
      2009-07-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
      	intrinsics, check that argument is a string literal, rather than
      	checking for staticness.
      
      From-SVN: r149811
      Arnaud Charlet committed
    • [multiple changes] · ae65d635
      2009-07-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting
      
      	* einfo.ads: Minor reformatting
      	Component_Bit_Offset is no longer considered obsolescent
      
      2009-07-20  Nicolas Roche  <roche@adacore.com>
      
      	* a-calend.adb: Redefine time_t as signed integer with same size as
      	Address type.
      	* s-os_lib.ads: Redefine OS_Time as signed integer with same size as
      	Address type
      	* adaint.h: On Windows 64bits declare OS_Time as long long instead of
      	long
      
      2009-07-20  Javier Miranda  <miranda@adacore.com>
      
      	* exp_tss.adb (Init_Proc): Add missing support for non-default C++
      	constructors that have anonymous access type formals.
      
      	* sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
      	class-wide arguments in case of imported C++ subprograms.
      
      	* exp_ch3.adb (Build_Initialization_Call): Add assertion.
      
      2009-07-20  Sergey Rybin  <rybin@adacore.com>
      
      	* vms_data.ads: Update qualifiers.
      
      From-SVN: r149810
      Arnaud Charlet committed
    • einfo.ads, [...]: Minor reformatting · 5132708f
      2009-07-20  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
      	reformatting
      
      From-SVN: r149809
      Robert Dewar committed
    • cgraph.h (combined_args_to_skip): New field. · 08ad1d6d
      2009-07-20  Jan Hubicka  <jh@suse.cz>
                  Martin Jambor  <mjambor@suse.cz>
      
      	* cgraph.h (combined_args_to_skip): New field.
      	* cgraph.c (cgraph_create_virtual_clone): Properly handle
      	combined_args_to_skip and args_to_skip.
      	* tree-inline.c (update_clone_info): New function.
      	(tree_function_versioning): Call update_clone_info.
      	* cgraphunit.c: (cgraph_materialize_clone): Dump materialized functions.
      	(cgraph_materialize_all_clones): More extensive dumping, working
      	with combined_args_to_skip rather than args_to_skip.
      
      
      
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      
      From-SVN: r149808
      Jan Hubicka committed
    • tree-vectorizer.h (vectorizable_condition): Add parameters. · 4bbe8262
      
      	* tree-vectorizer.h (vectorizable_condition): Add parameters.
      	* tree-vect-loop.c (vect_is_simple_reduction): Support COND_EXPR.
      	(get_initial_def_for_reduction): Likewise.
      	(vectorizable_reduction): Skip the check of first operand in case
      	of COND_EXPR. Add check that it is outer loop vectorization if
      	nested cycle was detected. Call vectorizable_condition() for 
      	COND_EXPR. If reduction epilogue cannot be created do not fail for
      	nested cycles (if it is not double reduction). Assert that there
      	is only one type in the loop in case of COND_EXPR. Call
      	vectorizable_condition() to vectorize COND_EXPR.
      	* tree-vect-stmts.c (vectorizable_condition): Update comment.
      	Add parameters. Allow nested cycles if called from 
      	vectorizable_reduction(). Use reduction vector variable if provided.
      	(vect_analyze_stmt): Call vectorizable_reduction() before
      	vectorizable_condition().
      	(vect_transform_stmt): Update call to vectorizable_condition().
      
      From-SVN: r149806
      Ira Rosen committed
    • ChangeLog: Remove conflict markers. · 9e7c935a
      	* ChangeLog: Remove conflict markers.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r149805
      Uros Bizjak committed
    • SH: resurect -mfmovd · 6a799f6e
      From-SVN: r149803
      Christian Bruel committed
    • Daily bump. · 94b219ec
      From-SVN: r149800
      GCC Administrator committed
  2. 19 Jul, 2009 6 commits
    • re PR fortran/40714 (Fortran runtime error: Invalid argument) · d2b00a89
      2009-07-19  Janne Blomqvist  <jb@gcc.gnu.org>
      	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/40714
      	* gfortran.dg/eof_3.f90: New test.
      
      Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
      
      From-SVN: r149797
      Janne Blomqvist committed
    • tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs when handling SSA name. · eab09a51
      	* tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs
      	when handling SSA name.
      
      From-SVN: r149794
      Jan Hubicka committed
    • re PR fortran/40727 ([4.4] ICE gfc_simplify_dcmplx(): Bad type when passing BT_COMPLEX to cmplx) · 20562de4
      2009-07-18  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/40727
      	* fortran/check.c (gfc_check_cmplx, gfc_check_dcmplx): Add check that
      	the optional second argument isn't of COMPLEX type.
      
      2009-07-18  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/40727
      	* gfortran.dg/intrinsic_cmplx.f90: New test.
      
      From-SVN: r149793
      Steven G. Kargl committed
    • [multiple changes] · 16bff921
      2009-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/34670
      	PR libfortran/36874
      	* Makefile.am:  Add bounds.c
      	* libgfortran.h (bounds_equal_extents):  Add prototype.
      	(bounds_iforeach_return):  Likewise.
      	(bounds_ifunction_return):  Likewise.
      	(bounds_reduced_extents):  Likewise.
      	* runtime/bounds.c:  New file.
      	(bounds_iforeach_return):  New function; correct typo in
      	error message.
      	(bounds_ifunction_return):  New function.
      	(bounds_equal_extents):  New function.
      	(bounds_reduced_extents):  Likewise.
      	* intrinsics/cshift0.c (cshift0):  Use new functions
      	for bounds checking.
      	* intrinsics/eoshift0.c (eoshift0):  Likewise.
      	* intrinsics/eoshift2.c (eoshift2):  Likewise.
      	* m4/iforeach.m4:  Likewise.
      	* m4/eoshift1.m4:  Likewise.
      	* m4/eoshift3.m4:  Likewise.
      	* m4/cshift1.m4:  Likewise.
      	* m4/ifunction.m4:  Likewise.
      	* Makefile.in:  Regenerated.
      	* generated/cshift1_16.c: Regenerated.
      	* generated/cshift1_4.c: Regenerated.
      	* generated/cshift1_8.c: Regenerated.
      	* generated/eoshift1_16.c: Regenerated.
      	* generated/eoshift1_4.c: Regenerated.
      	* generated/eoshift1_8.c: Regenerated.
      	* generated/eoshift3_16.c: Regenerated.
      	* generated/eoshift3_4.c: Regenerated.
      	* generated/eoshift3_8.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Regenerated.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i2.c: Regenerated.
      	* generated/maxloc0_16_i4.c: Regenerated.
      	* generated/maxloc0_16_i8.c: Regenerated.
      	* generated/maxloc0_16_r10.c: Regenerated.
      	* generated/maxloc0_16_r16.c: Regenerated.
      	* generated/maxloc0_16_r4.c: Regenerated.
      	* generated/maxloc0_16_r8.c: Regenerated.
      	* generated/maxloc0_4_i1.c: Regenerated.
      	* generated/maxloc0_4_i16.c: Regenerated.
      	* generated/maxloc0_4_i2.c: Regenerated.
      	* generated/maxloc0_4_i4.c: Regenerated.
      	* generated/maxloc0_4_i8.c: Regenerated.
      	* generated/maxloc0_4_r10.c: Regenerated.
      	* generated/maxloc0_4_r16.c: Regenerated.
      	* generated/maxloc0_4_r4.c: Regenerated.
      	* generated/maxloc0_4_r8.c: Regenerated.
      	* generated/maxloc0_8_i1.c: Regenerated.
      	* generated/maxloc0_8_i16.c: Regenerated.
      	* generated/maxloc0_8_i2.c: Regenerated.
      	* generated/maxloc0_8_i4.c: Regenerated.
      	* generated/maxloc0_8_i8.c: Regenerated.
      	* generated/maxloc0_8_r10.c: Regenerated.
      	* generated/maxloc0_8_r16.c: Regenerated.
      	* generated/maxloc0_8_r4.c: Regenerated.
      	* generated/maxloc0_8_r8.c: Regenerated.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      
      2009-07-19   Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/34670
      	PR libfortran/36874
      	* gfortran.dg/cshift_bounds_1.f90:  New test.
      	* gfortran.dg/cshift_bounds_2.f90:  New test.
      	* gfortran.dg/cshift_bounds_3.f90:  New test.
      	* gfortran.dg/cshift_bounds_4.f90:  New test.
      	* gfortran.dg/eoshift_bounds_1.f90:  New test.
      	* gfortran.dg/maxloc_bounds_4.f90:  Correct typo in error message.
      	* gfortran.dg/maxloc_bounds_5.f90:  Correct typo in error message.
      	* gfortran.dg/maxloc_bounds_7.f90:  Correct typo in error message.
      
      From-SVN: r149792
      Thomas Koenig committed
    • re PR tree-optimization/40676 (internal compiler error: verify_ssa error:… · a915ab00
      re PR tree-optimization/40676 (internal compiler error: verify_ssa error: definition in block 5 does not dominate use in block 7)
      
      	PR tree-optimization/40676
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Do renaming on all
      	virtual PHIs in empty BBs.
      
      	* gcc.c-torture/compile/pr40676.c: New testcase.
      
      From-SVN: r149789
      Jan Hubicka committed
    • Daily bump. · 9d43fad9
      From-SVN: r149785
      GCC Administrator committed
  3. 18 Jul, 2009 12 commits
    • re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can… · af90c8c9
      re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale)
      
      2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/40712
      	* config/locale/gnu/numeric_members.cc (numpunct<>::
      	_M_initialize_numpunct): Dynamically allocate _M_data->_M_grouping
      	and copy the langinfo data into it.
      	(numpunct<>::~numpunct): Free the allocated memory.
      	* config/locale/gnu/monetary_members.cc (moneypunct<>::
      	_M_initialize_moneypunct): Dynamically allocate _M_data->_M_grouping,
      	_M_data->_M_positive_sign, _M_data->_M_negative_sign,
      	_M_data->_M_curr_symbol.
      	(moneypunct<>::~moneypunct): Free the allocated memory.
      	* testsuite/22_locale/moneypunct/40712.cc: New.
      
      	* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache):
      	Do not leak memory if new throws.
      	* include/bits/locale_facets_nonio.tcc
      	(__moneypunct_cache<>::_M_cache): Likewise.
      
      From-SVN: r149782
      Paolo Carlini committed
    • combine.c (make_compound_operation): If force_to_mode re-expanded the compound… · 827f4079
      combine.c (make_compound_operation): If force_to_mode re-expanded the compound use gen_lowpart instead to convert to...
      
      	* combine.c (make_compound_operation) <SUBREG>: If force_to_mode
      	re-expanded the compound use gen_lowpart instead to convert to the
      	desired mode.
      
      testsuite/
      	* gcc.target/mips/ext-2.c: New test.
      
      From-SVN: r149781
      Adam Nemet committed
    • combine.c (try_widen_shift_mode): Add COUNT, OUTER_CODE and OUTER_CONST arguments. · f3ce1088
      	* combine.c (try_widen_shift_mode): Add COUNT, OUTER_CODE and
      	OUTER_CONST arguments.
      	<LSHIFTRT>: Use them to allow widening if the bits shifted in from
      	the new wider mode will be masked off.
      	(simplify_shift_const_1): Adjust calls to try_widen_shift_mode.
      
      From-SVN: r149780
      Adam Nemet committed
    • combine.c (try_widen_shift_mode): Allow widening if the high-order bits are zero. · 3e63dd3a
      	* combine.c (try_widen_shift_mode) <LSHIFTRT>: Allow widening if the
      	high-order bits are zero.
      
      From-SVN: r149779
      Adam Nemet committed
    • combine.c (simplify_shift_const_1): Split code to determine shift_mode into ... · b641d7fc
      	* combine.c (simplify_shift_const_1): Split code to determine
      	shift_mode into ...
      	(try_widen_shift_mode): ... here.  Allow widening for ASHIFTRT if the
      	new bits shifted in are identical to the old sign bit.
      
      testsuite/
      	* gcc.target/mips/octeon-exts-7.c: New test.
      	* gcc.target/mips/octeon-exts-2.c: Revert previous change.
      	* gcc.target/mips/octeon-exts-5.c: Likewise.
      
      From-SVN: r149778
      Adam Nemet committed
    • re PR testsuite/40798 (Revision 149750 failed gcc.dg/tree-ssa/loop-2.c) · b95d6ac9
      2009-07-18  Richard Guenther  <rguenther@suse.de>
      
      	PR testsuite/40798
      	* gcc.dg/tree-ssa/loop-2.c: Tighten pattern.
      
      From-SVN: r149774
      Richard Guenther committed
    • Fix last entry. · 1f55686a
      From-SVN: r149772
      Arnaud Charlet committed
    • re PR c/40787 (ICE: verify_gimple failed in gcc.dg/pr35899.c) · 33922890
      2009-07-18  Richard Guenther  <rguenther@suse.de>
      
      	PR c/40787
      	* gimplify.c (gimplify_call_expr): Reject code using results from
      	functions returning void.
      
      	* gcc.dg/pr35899.c: Adjust.
      
      From-SVN: r149770
      Richard Guenther committed
    • md.texi: Document the new PowerPC "es" constraint. · 1d447995
      gcc/
      	* doc/md.texi: Document the new PowerPC "es" constraint.
      	Document that "m" can include automodified addresses on this target,
      	and explain how %U must be used.  Extend the "Q" and "Z" documentation
      	to suggest "es" as well as "m".
      	* config/rs6000/constraints.md (es): New memory constraint.
      	(Q, Z): Update strings to match new documentation.
      
      gcc/testsuite/
      	* gcc.target/powerpc/asm-es-1.c: New test.
      	* gcc.target/powerpc/asm-es-2.c: Likewise.
      
      From-SVN: r149766
      Richard Sandiford committed
    • rs6000.c (rs6000_mode_dependent_address): Allow any offset from… · 406d1650
      rs6000.c (rs6000_mode_dependent_address): Allow any offset from virtual_stack_vars_rtx and arg_pointer_rtx.
      
      gcc/
      	* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Allow any
      	offset from virtual_stack_vars_rtx and arg_pointer_rtx.
      	* config/rs6000/predicates.md (volatile_mem_operand): Use
      	offsettable_nonstrict_memref_p.
      	* config/rs6000/rs6000.md (*floatsidf2_internal): Remove split check.
      	(*floatunssidf2_internal): Likewise.
      	(*fix_truncdfsi2_internal): Likewise.
      	(*fix_trunctfsi2_internal): Likewise.
      
      From-SVN: r149765
      Richard Sandiford committed
    • directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value. · f1bf410c
      2009-07-17  Jerry Quinn  <jlquinn@optonline.net>
      
      	* directives.c (do_linemarker, do_line): Use CPP_STRING for
      	ignored enum value.
      	* files.c (find_file_in_dir): Add cast from void* to char*.
      	* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
      	* Makefile.in: (WARN_CFLAGS): Use general and C-specific
      	warnings.
      	(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
      	ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
      	COMPILER_FLAGS): New.
      	(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
      	(COMPILE.base): Use COMPILER instead of CC.  Use COMPILER_FLAGS
      	instead of ALL_CFLAGS.
      	* configure.ac: Invoke AC_PROG_CXX.  Separate C-specific warnings
      	from other warnings.  Add -Wc++-compat to C-specific warnings.
      	Check for --enable-build-with-cxx.  Set and substitute
      	ENABLE_BUILD_WITH_CXX.  Invoke ZW_PROG_COMPILER_DEPENDENCIES
      	according to ENABLE_BUILD_WITH_CXX.  Invoke AC_LANG before
      	AC_CHECK_HEADERS.
      	* configure: Rebuild.
      	* include/cpp-id-data.h: Remove extern "C".
      	* include/line-map.h: Likewise.
      	* include/mkdeps.h: Likewise.
      	* include/symtab.h: Likewise.
      	* internal.h: Likewise.
      
      From-SVN: r149763
      Jerry Quinn committed
    • Daily bump. · 4f589751
      From-SVN: r149762
      GCC Administrator committed
  4. 17 Jul, 2009 8 commits
    • When finalizing I/O transfer, set current_record to 0 before returning. · 217c4f53
      PR libfortran/40714
      
      Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
      
      From-SVN: r149757
      Janne Blomqvist committed
    • demangle.h (enum demangle_component_type… · 23b1a789
      demangle.h (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>): New.
      
      include
      2009-07-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* demangle.h
      	(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
      	(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>):
      	New.
      libiberty
      2009-07-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* cp-demangle.c (d_print_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
      	(d_print_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New.
      	(d_make_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
      	(d_make_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New.
      	(d_demangle_callback): The variable type is now declared as enum.
      	Replace parser of _GLOBAL_ symbols by a d_make_comp call.
      
      From-SVN: r149756
      Jan Kratochvil committed
    • avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and atmega32u2 devices. · a0ce0e6e
      	* config/avr/avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and
      	atmega32u2 devices.
      	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
      
      From-SVN: r149755
      Anatoly Sokolov committed
    • re PR c/40401 (ICE: verify_gimple failed) · a406865a
      2009-07-17  Richard Guenther  <rguenther@suse.de>
      
      	PR c/40401
      	* tree-pass.h (pass_diagnose_omp_blocks): Declare.
      	(pass_warn_unused_result): Likewise.
      	(TODO_set_props): Remove.
      	* omp-low.c (diagnose_omp_structured_block_errors): Change to
      	run as a pass.
      	(pass_diagnose_omp_blocks): Define.
      	* c-decl.c (pop_file_scope): Do not finalize the CU here.
      	(c_gimple_diagnostics_recursively): Remove.
      	(finish_function): Do not call it.
      	(c_write_global_declarations): Continue after errors.
      	Finalize the CU here.
      	* c-gimplify.c (c_genericize): Do not gimplify here.
      	* c-common.c (c_warn_unused_result): Move ...
      	* tree-cfg.c (do_warn_unused_result): ... here.
      	(run_warn_unused_result): New function.
      	(gate_warn_unused_result): New function.
      	(pass_warn_unused_result): New pass.
      	* c-common.h (c_warn_unused_result): Remove.
      	* flags.h (flag_warn_unused_result): Declare.
      	* c-opts.c (c_common_init_options): Enable flag_warn_unused_result.
      	* opts.c (flag_warn_unused_result): Initialize to false.
      
      	* toplev.c (compile_file): Add comment.
      	* omp-low.c (create_omp_child_function): Do not register
      	the function with the frontend.
      	(diagnose_omp_structured_block_errors): Prepare to be
      	called as optimization pass.
      	(gate_diagnose_omp_blocks): New function.
      	(pass_diagnose_omp_blocks): New pass.
      	* cgraph.h (cgraph_optimize): Remove.
      	(cgraph_analyze_function): Likewise.
      	* cgraph.c (cgraph_add_new_function): Gimplify C++ thunks.
      	* cgraphunit.c (cgraph_lower_function): Lower nested functions
      	before their parents here.
      	(cgraph_finalize_function): Not here.
      	(cgraph_analyze_function): Gimplify functions here.
      	(cgraph_finalize_compilation_unit): Continue after errors.
      	Optimize the callgraph from here.
      	(cgraph_optimize): Make static.
      	* langhooks.c (write_global_declarations): Finalize the CU.
      	* gimplify.c (gimplify_asm_expr): Do not emit ASMs with errors.
      	(gimplify_function_tree): Assert we gimplify only once.
      	Set PROP_gimple_any property.
      	* tree-nested.c (gimplify_all_functions): New function.
      	(lower_nested_functions): Gimplify all nested functions.
      	* gimple.h (diagnose_omp_structured_block_errors): Remove.
      	* passes.c (init_optimization_passes): Add pass_warn_unused_result
      	and pass_diagnose_omp_blocks after gimplification.  Do not
      	set TODO_set_props on all_lowering_passes.
      	(execute_one_pass): Do not handle TODO_set_props.
      	* Makefile.in (cgraphunit.o): Add $(TREE_DUMP_H) dependency.
      	(gimplify.o): Add tree-pass.h dependency.
      	* tree-inline.c (copy_statement_list): Properly copy STATEMENT_LIST.
      	(copy_tree_body_r): Properly handle TARGET_EXPR like SAVE_EXPR.
      	(unsave_r): Likewise.
      	* c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the
      	temporary variable.
      
      	cp/
      	* decl.c (finish_function): Do not emit unused result warnings
      	from here.
      	* cp-objcp-common.h (LANG_HOOKS_POST_GIMPLIFY_PASS): Use
      	c_warn_unused_result_pass.
      	* semantics.c (expand_or_defer_fn): Adjust assertion about IL status.
      	* optimize.c (clone_body): Clone in GENERIC.
      	(maybe_clone_body): Do not clear DECL_SAVED_TREE.
      	* decl2.c (cp_write_global_declarations): Fix body test.
      	Do not call cgraph_optimize.
      	* Make-lang.in (optimize.o): Add tree-iterator.h dependency.
      	* method.c (use_thunk): Register thunk with
      	cgraph_finalize_function.
      	* error.c (function_category): Guard access of DECL_LANG_SPECIFIC.
      
      	java/
      	* java-gimplify.c (java_genericize): Do not gimplify here.
      	But replace all local references.
      	(java_gimplify_expr): Do not replace local references here.
      	(java_gimplify_modify_expr): Likewise.
      	* jcf-parse.c (java_parse_file): Do not finalize the CU or
      	optimize the cgraph here.
      	* decl.c (java_replace_reference): Make static.
      	(java_replace_references): New function.
      	(end_java_method): Clear base_decl_map.
      	* java-tree.h (java_replace_references): Declare.
      	(java_replace_reference): Remove.
      
      	ada/
      	* utils.c (end_subprog_body): Revert to pre-tuples state.  Remove
      	unused parameter.
      	(gnat_gimplify_function): Do not gimplify here.
      	Fold into its only caller and remove.
      	(gnat_builtin_function): Adjust for end_subprog_body signature change.
      	(gnat_write_global_declarations): Also finalize the CU.
      	* misc.c (gnat_parse_file): Do not finalize the CU here.
      	* trans.c (gigi): Revert to pre-tuples state.
      	(Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
      	change.
      	* gigi.h (end_subprog_body): Remove unused parameter.
      
      	fortran/
      	* f95-lang.c (gfc_be_parse_file): Do not finalize the CU here.
      	* trans-decl.c (gfc_gimplify_function): Remove.
      	(build_entry_thunks): Do not gimplify here.
      	(create_main_function): Likewise.
      	(gfc_generate_function_code): Likewise.
      
      	* g++.dg/rtti/crash4.C: New testcase.
      	* g++.dg/torture/20090706-1.C: Likewise.
      	* gcc.dg/redecl-17.c: Likewise.
      
      	* gfortran.dg/missing_optional_dummy_5.f90: Adjust pattern.
      	* gcc.dg/declspec-9.c: Expect extra error.
      	* gcc.dg/declspec-10.c: Likewise.
      	* gcc.dg/declspec-11.c: Likewise.
      	* gcc.dg/redecl-10.c: Expect extra warnings.
      	* gcc.target/i386/pr39082-1.c: Adjust diagnostic location.
      	* gcc.target/i386/pr39545-1.c: Likewise.
      	* g++.dg/ext/asm3.C: Expect more errors.
      	* g++.dg/gomp/block-1.C: Likewise.
      	* g++.dg/gomp/block-2.C: Likewise.
      	* g++.dg/gomp/block-3.C: Likewise.
      	* g++.dg/gomp/block-5.C: Likewise.
      	* g++.old-deja/g++.jason/report.C: Expect extra warnings.
      	* g++.dg/warn/unused-result1.C: XFAIL.
      
      From-SVN: r149750
      Richard Guenther committed
    • re PR other/40784 (Revision 149725 caused autoconf warning in libstdc++) · e7d5b5b9
      	PR other/40784
      config:
      	* tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to
      	AC_LINK_IFELSE.
      
      libjava:
      	* configure: Regenerate.
      
      libstdc++-v3:
      	* configure: Regenerate.
      
      From-SVN: r149748
      Joseph Myers committed
    • service.texi (Service): Restore previously removed link, which isn't broken after all. · 2e687c2c
      2009-07-17  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/service.texi (Service): Restore previously removed link,
      	which isn't broken after all.
      
      From-SVN: r149746
      Sandra Loosemore committed
    • re PR tree-optimization/40321 (internal compiler error: in compute_antic, at tree-ssa-pre.c:2501) · 7763473e
      2009-07-17  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/40321
      	* tree-ssa-pre.c (add_to_exp_gen): Also add names defined by
      	PHI nodes to the maximal set.
      	(make_values_for_phi): Add PHI arguments to the maximal set.
      	(execute_pre): Dump PHI_GEN and the maximal set.
      
      	* gcc.c-torture/compile/pr40321.c: New testcase.
      	* g++.dg/torture/pr40321.C: Likewise.
      
      From-SVN: r149744
      Richard Guenther committed
    • re PR c++/40780 (ICE in gimplify_conversion) · 4f934809
      	PR c++/40780
      	* gimplify.c (gimplify_conversion): Don't change non-conversions into
      	VIEW_CONVERT_EXPR.
      
      	* g++.dg/template/ptrmem19.C: New test.
      
      From-SVN: r149740
      Jakub Jelinek committed