1. 15 Aug, 2007 16 commits
  2. 14 Aug, 2007 24 commits
    • re PR fortran/33066 ("type, bind(C) t": Diagnose missing "::") · e7303e85
      	PR fortran/33066
      
      	* decl.c (gfc_get_type_attr_spec): Fix whitespace.
      	(gfc_match_derived_decl): Fix logic.
      
      	* gfortran.dg/use_8.f90: New test.
      	* gfortran.dg/c_loc_tests_2.f03: Fix code.
      
      From-SVN: r127497
      Francois-Xavier Coudert committed
    • re PR fortran/33073 (Type mismatch in build_fixbound_expr()) · c833f6d2
      	PR fortran/33073
      	* trans-intrinsic.c (build_fixbound_expr): Convert to result type
      	in all cases.
      
      From-SVN: r127494
      Francois-Xavier Coudert committed
    • re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template) · fa3546f1
      /cp
      2007-08-14  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/27211
      	* decl2.c (check_classfn): Return error_mark_node in case of error;
      	in that case, do not call add_method.
      	* decl.c (start_decl): Deal with check_classfn returning
      	error_mark_node.
      	(grokfndecl): Likewise.
      	* pt.c (tsubst_friend_function): Likewise.
      
      /testsuite
      2007-08-14  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/27211
      	* g++.dg/template/error27.C: New.
      	* g++.dg/template/error28.C: New.
      	* g++.dg/other/pr28304.C: Adjust.
      	* g++.old-deja/g++.mike/p811.C: Likewise.
      
      From-SVN: r127493
      Paolo Carlini committed
    • re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template) · f8c3b097
      /cp
      2007-08-14  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/27211
      	* decl2.c (check_classfn): Return error_mark_node in case of error;
      	in that case, do not call add_method.
      	* decl.c (start_decl): Deal with check_classfn returning
      	error_mark_node.
      	(grokfndecl): Likewise.
      	* pt.c (tsubst_friend_function): Likewise.
      
      /testsuite
      2007-08-14  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/27211
      	* g++.dg/template/error27.C: New.
      	* g++.dg/template/error28.C: New.
      	* g++.dg/other/pr28304.C: Adjust.
      	* g++.old-deja/g++.mike/p811.C: Likewise.
      
      From-SVN: r127492
      Paolo Carlini committed
    • tree-pass.h (PROP_pta): Removed. · 7b0e48fb
      2007-08-14  Daniel Berlin  <dberlin@dberlin.org>
      
      	* tree-pass.h (PROP_pta): Removed.
      	(TODO_rebuild_alias): New.
      	(pass_may_alias): Removed.
      	* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
      	aliasing if we changed something.
      	* tree-ssa-alias.c (compute_may_aliases): Make non-static.  Update
      	SSA internally.
      	(pass_may_alias): Removed.
      	(create_structure_vars): Return TODO_rebuild_alias.
      	* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
      	* tree-sra.c (tree_sra): Only rebuild aliasing if something
      	changed.
      	(tree_sra_early): We never affect aliasing right now.
      	* tree-flow.h (compute_may_aliases): New prototype.
      	* passes.c: Remove pass_may_alias from the passes.
      	(execute_function_todo): Support TODO_rebuild_alias.
      
      From-SVN: r127491
      Daniel Berlin committed
    • i386.c: (legitimize_address): Move dllimported variable check infront of legitimizing... · ea2666ba
      	* i386.c: (legitimize_address): Move dllimported variable check
      	infront of legitimizing pic address of CONST symbols.
      
      From-SVN: r127488
      Kai Tietz committed
    • re PR tree-optimization/32941 (Bootstrap comparison failure) · 0f547d3d
      	PR tree-optimization/32941
      	* tree-eh.c (struct leh_tf_state): Add goto_queue_map field.
      	(goto_queue_cmp): Remove.
      	(find_goto_replacement): Change search method.
      	(maybe_record_in_goto_queue): Add assert.
      	(lower_try_finally): Remove qsort call, add pointer_map_destroy call.
      	* Makefile.in (tree-eh.o): Add pointer-set.h dependency.
      
      From-SVN: r127487
      Steve Ellcey committed
    • alias.c (component_uses_parent_alias_set): Constify. · 22ea9ec0
      	* alias.c (component_uses_parent_alias_set): Constify.
      	* alias.h (component_uses_parent_alias_set): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Likewise.
      	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
      	mpz_get_double_int): Likewise.
      	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
      	mpz_get_double_int): Likewise.
      	* expr.c (is_aligning_offset, undefined_operand_subword_p,
      	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
      	Likewise.
      	* expr.h (safe_from_p): Likewise.
      	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
      	Likewise.
      	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
      	zero_sized_type, goa_lhs_expr_p): Likewise.
      	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
      	* rtl.h (print_rtl_with_bb): Likewise.
      	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
      	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
      	* tree-flow-inline.h (bb_stmt_list): Constify.
      	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
      	cbsi_stmt): New.
      	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
      	const_first_stmt, const_last_stmt): New.
      	(block_may_fallthru, empty_block_p): Constify.
      	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
      	EXPR_ONLY_BODY): New.
      	(expr_first, expr_last, expr_only): Use macro for body.
      	(const_expr_first, const_expr_last, const_expr_only): New.
      	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
      	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
      	ctsi_prev, ctsi_stmt): New.
      	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
      	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
      	* tree-ssa-loop-niter.c (loop_only_exit_p,
      	derive_constant_upper_bound): Likewise.
      	* tree-ssa-phiopt.c (empty_block_p): Likewise.
      	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
      	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
      	* tree.c (get_type_static_bounds): Likewise.
      	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
      	(get_type_static_bounds): Constify.
      
      From-SVN: r127483
      Kaveh R. Ghazi committed
    • re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl) · d39d658d
      	PR target/30315
      	* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
      	* config/i386/i386.md (plusminus)(addsub)(SWI): New.
      	(*<addsub><mode>3_cc_overflow): New.
      	(*add<mode>3_cconly_overflow): New.
      	(*sub<mode>3_cconly_overflow): New.
      	(*<addsub>si3_zext_cc_overflow): New.
      	* config/i386/predicates.md (fcmov_comparison_operator): Accept
      	CCCmode for LTU, GTU, LEU and GEU.
      	(ix86_comparison_operator): Likewise.
      	(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
      	* gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
      	(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
      	or MINUS expressions.
      
      testsuite/
      	PR target/30315
      	* gcc.target/i386/pr30315.c: New.
      
      From-SVN: r127481
      Rask Ingemann Lambertsen committed
    • re PR fortran/32594 (substring simplification leads to ICE) · 9a251aa1
      	PR fortran/32594
      
      	* trans-expr.c (gfc_conv_substring_expr): Only call
      	gfc_conv_substring if expr->ref is not NULL.
      	* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
      	expression might be a constant.
      	(gfc_simplify_expr): Handle missing start and end, as well as
      	missing ref.
      
      	* gfortran.dg/substr_5.f90: New test.
      
      From-SVN: r127478
      Francois-Xavier Coudert committed
    • re PR c/30428 (vector float | vector float is accepted) · 9ef0c8d9
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c/30428
              * c-typeck.c (build_binary_op): Disallow vector float types with
              BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
      
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c++/30428
              * typeck.c (build_binary_op): Disallow vector float types with
              BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
      
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c/30428
              * gcc.dg/vector-2.c: New test.
      
              PR c++/30428
              * g++.dg/ext/vector8.C: New test.
      
      From-SVN: r127477
      Andrew Pinski committed
    • Resync · ab6328d0
      From-SVN: r127476
      Arnaud Charlet committed
    • Minor reformatting. · 38aa612c
      Update comments.
      
      From-SVN: r127475
      Arnaud Charlet committed
    • (Write_Eol): Remove trailing spaces before writing the line · 76203117
      	(Write_Eol): Remove trailing spaces before writing the line
      	(Write_Eol_Keep_Blanks): New procedure to write a line, including
      	possible trailing spaces.
      	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
      	Fix problem with suppressing warning messages from back end
      	Improve handling of deleted warnings
      
      From-SVN: r127474
      Arnaud Charlet committed
    • (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines… · da15c1cd
      (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6.
      
      	(Task_Cont, Task_Stop): New functions, thin
      	binding to the VxWorks routines which have changed between VxWorks 5
      	and 6.
      	(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
      	which are not callable from a RTP.
      
      From-SVN: r127473
      Arnaud Charlet committed
    • (Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter): · d58fb3be
      	New functions.
      
      From-SVN: r127472
      Arnaud Charlet committed
    • (Check_References.Publicly_Referenceable): A formal parameter is never publicly… · 434632ce
      (Check_References.Publicly_Referenceable): A formal parameter is never publicly referenceable outside of its body.
      
      	(Check_References.Publicly_Referenceable): A formal parameter is never
      	publicly referenceable outside of its body.
      	(Check_References): For an unreferenced formal parameter in an accecpt
      	statement, use the same warning circuitry as for subprogram formal
      	parameters.  
      	(Warn_On_Unreferenced_Entity): New subprogram, taken from
      	Output_Unreferenced_Messages, containing the part of that routine that
      	is now reused for entry formals as described above.
      	(Has_Pragma_Unreferenced_Check_Spec): New function
      	(Check_References): Clean up handling of unmodified IN OUT parameters
      
      From-SVN: r127471
      Arnaud Charlet committed
    • (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and… · a43050d3
      (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and N_Procedure_Call_Statement.
      
      	(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
      	and N_Procedure_Call_Statement.
      	(takes_address): Rename to lvalue_required_p, add third parameter
      	'aliased'
      	and adjust recursive calls.
      	<N_Indexed_Component>: Update 'aliased' from the array type.
      	<N_Selected_Component>: New case.
      	<N_Object_Renaming_Declaration>: New Likewise.
      	(Identifier_to_gnu): Adjust for above changes.
      	(maybe_stabilize_reference) <CONST_DECL>: New case.
      
      From-SVN: r127470
      Arnaud Charlet committed
    • (Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI... · be6aaf7f
      	(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more
      	descriptive of the current use of the predicate, and update
      	documentation.
      
      From-SVN: r127469
      Arnaud Charlet committed
    • exp_atag.adb (Build_Inherit_Prims): Addition of a new formal. · f9622ab1
      	* exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.
      	(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
      	Prim_Op_Count by Max_Predef_Prims.
      
      From-SVN: r127468
      Arnaud Charlet committed
    • [multiple changes] · 33c423c8
      2007-08-14  Geert Bosch  <bosch@adacore.com>
      
      	* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
      	s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
      	Add required linker pragmas for automatically linking with the gnalasup
      	linear algebra support library, and the systems math library.
      	Rename cdot to cdotu and zdot to zdotu.
      	Update header comment to describe purpose of package.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch7.adb (Find_Final_List): For an anonymous access type that has
      	an explicitly specified Associated_Final_Chain, use that list.
      	(Expand_N_Package_Body): Build dispatch tables of library level tagged
      	types.
      	(Expand_N_Package_Declaration): Build dispatch tables of library level
      	tagged types. Minor code cleanup.
      
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* gnatchop.adb (Terminate_Program): Remove exception and use
      	Types.Terminate_Program instead.
      
      	* osint.ads, osint.adb (Current_Exit_Status): New global variable
      	(Find_Program_Name): Added protection against empty name.
      	(OS_Exit_Through_Exception): New procedure
      
      	* s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
      	(OS_Exit_Default): New procedure that contains the previous
      	implementation of procedure OS_Exit.
      	(Final_Value): Remove obsolete Interix stuff.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.ads: Reorganize example code so that it also works on
      	Windows XP.
      
      2007-08-14  Tristan Gingold  <gingold@adacore.com>
      
      	* g-trasym.ads: AIX now supports symbolic backtraces.
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-load.adb (From_Limited_With_Chain): Always scan the stack of
      	units being loaded to detect circularities. A circularity may be
      	present even if the current chain of pending units to load starts from
      	a limited_with_clause.
      
      	* lib-load.ads: Change profile of Load_Unit to use a with_clause
      	rather than a boolean flag, in order to detect circularities in
      	with_clauses.
      
      	* par-load.adb: Use current with_clause in calls to Load_Unit, rather
      	than propagating the From_Limited_With flag, in order to handle
      	properly circularities involving with_clauses.
      
      2007-08-14  Nicolas Setton  <setton@adacore.com>
      
      	* link.c (FreeBSD): Add "const" keyword where needed, to eliminate
      	warnings.
      
      2007-08-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
      	to build for libgnala.
      	libgnat: Add rules to build libgnala.a
      	(LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
      	target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
      	Add s-osinte-vxworks-kernel.adb to the target pairs of the
      	kernel run-time lib for VxWorks 6, which would provide a different
      	implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
      	x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
      	running ZCX by default.
      	Add g-sttsne-locking to LynxOS version.
      	Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
      	On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
      
      	* system-darwin-x86.ads: New file.
      
      	* Make-lang.in: Delete files before copying onto them, so if they are
      	read-only, the copy won't fail.
      	Update dependencies
      
      2007-08-14  Pascal Obry  <obry@adacore.com>
      
      	* mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
      	naming scheme.
      
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
      	(Gcc): Initialize Gcc_Name at the first call
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Analyze_Package_Specification): Do not install private
      	with_clauses of the enclosing unit when analyzing the package
      	specification of a nested instance.
      
      2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
      	(Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
      	Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
      	layout of N_Allocator.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* rtsfind.adb (Check_RPC): Add PCS version check.
      
      	* gnatvsn.ads, gnatvsn.adb: Add PCS version.
      	(Gnat_Free_Software): New function.
      
      	* sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
      	the PCS_Version value from s-parint, used to check that it is consistent
      	with what exp_dist expects.
      
      	* s-parint.ads (PCS_Version): New entity for checking consistency
      	between exp_dist and PCS.
      
      	* gen-soccon.c: (SO_REUSEPORT): New constant.
      
      2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-calfor.adb (Image (Duration; Boolean)): Change type of local
      	variable Sub_Second to Duration in order to accomodate a larger range
      	of arithmetic operations.
      
      2007-08-14  Bob Duff  <duff@adacore.com>
      
      	* g-sttsne-locking.ads: Move comments from spec to body.
      	* g-sttsne-locking.adb: Move comments from spec to body.
      	* g-sttsne-vxworks.ads: Removed.
      	* g-sttsne-vxworks.adb: Removed.
      
      From-SVN: r127467
      Arnaud Charlet committed
    • tracebak.c: Use tb-ivms.c on OpenVMS Itanium. · 6d64bc37
      2007-08-14  Tristan Gingold  <gingold@adacore.com>
      
      	* tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
      
      	* tb-ivms.c: New file.
      
      	* g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
      
      From-SVN: r127466
      Tristan Gingold committed
    • s-veboop.adb (SU): New named number initialized to System.Storage_Unit. · 6027ad8b
      2007-08-14  Gary Dismukes  <dismukes@adacore.com>
      
      	* s-veboop.adb (SU): New named number initialized to
      	System.Storage_Unit.
      	(True_Val): The initialization expression is revised to use SU (=
      	Storage_Unit) rather than assuming 8 for the component size of an
      	unpacked Boolean array.
      
      From-SVN: r127465
      Gary Dismukes committed
    • s-tpobop.ads, [...] (Requeue_With_Abort): Rename field With_Abort. · 20dedfc1
      2007-08-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
      	s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
      	(PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
      	parameter.
      
      	* s-tassta.adb (Task_Wrapper): Increased value of the small overflow
      	guard to 12K.
      
      From-SVN: r127464
      Arnaud Charlet committed