1. 04 Jul, 2005 11 commits
    • exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for Itypes. · 64dd5395
      2005-07-04  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
      	Itypes. Itypes are really unexpected there.
      	(Build_TypeCode_Function): Generalise special processing for Itypes to
      	handle the case of numeric implicit base types as well as enumerated
      	ones.
      
      From-SVN: r101578
      Thomas Quinot committed
    • exp_attr.adb (Mod): Evaluate condition expression with checks off, to prevent spurious warnings. · 3b641023
      2005-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb (Mod): Evaluate condition expression with checks off,
      	to prevent spurious warnings.
      
      From-SVN: r101577
      Ed Schonberg committed
    • decl.c (prepend_attributes): New case. · d9e0a587
      2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
      	<Pragma_Linker_Destructor>: Likewise.
      
      	* einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
      	Pragma_Linker_Destructor.
      
      	* gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
      	ATTR_LINK_DESTRUCTOR.
      	(static_ctors, static_dtors): New variables.
      
      	* misc.c (gnat_expand_body): Output current function as constructor
      	and destructor if requested.
      
      	* par-prag.adb: Add processing for pragma Linker_Constructor and
      	Linker_Destructor.
      
      	* sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
      	extracted from Check_Interrupt_Or_Attach_Handler.
      	(Check_Interrupt_Or_Attach_Handler): Invoke it.
      	Implement pragma Linker_Constructor and Linker_Destructor with the
      	help of Find_Unique_Parameterless_Procedure.
      	Replace Name_Alias with Name_Target for pragma Linker_Alias.
      
      	* snames.h, snames.ads, snames.adb:
      	Add Name_Linker_Constructor and Name_Linker_Destructor.
      	Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
      	* snames.adb: Remove Name_Alias.
      
      	* trans.c: Include cgraph.h.
      	(build_global_cdtor): New function.
      	(Compilation_Unit_to_gnu): Build global constructor and destructor if
      	needed.
      	(tree_transform) <N_Identifier>: Substitute renaming of view-conversions
      	of objects too.
      	(addressable_p) <COMPONENT_REF>: Unconditionally test
      	DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
      
      	* utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
      	variable if it is external.
      
      	(static_ctors, static_dtors): New global variables.
      	(process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
      	<ATTR_LINK_DESTRUCTOR>: Likewise.
      	(end_subprog_body): Chain function as constructor and destructor
      	if requested.
      
      	* exp_util.adb (Force_Evaluation): Unconditionally invoke
      	Remove_Side_Effects with Variable_Ref set to true.
      	(Remove_Side_Effects): Handle scalar types first. Use a renaming
      	for non-scalar types even if Variable_Ref is true and for class-wide
      	expressions.
      
      From-SVN: r101576
      Eric Botcazou committed
    • checks.adb (Null_Exclusion_Static_Checks): In the case of N_Object_Declaration... · c73ae90f
      2005-07-04  Gary Dismukes  <dismukes@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      
      	* checks.adb (Null_Exclusion_Static_Checks): In the case of
      	N_Object_Declaration, only perform the checks if the Object_Definition
      	is not an Access_Definition.
      
              * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
              where the parent of an the access definition is an N_Object_Declaration
              when determining the Associated_Node_For_Itype and scope of an
              anonymous access-to-subprogram type.
      
      	* exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
      	Corresponding_Spec on the body created for a null procedure. Add ???
      	comment. Remove New_Copy_Tree call on body argument to
      	Set_Body_To_Inline.
      
      	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
      	discriminants, use the type of the actual as well, because the
      	discriminants may be read by the called subprogram.
      
      	* sem_ch3.adb (Access_Type_Declaration): If the designated type is an
      	access type we do not need to handle non-limited views.
      	(Build_Derived_Record_Type): Additional check to check that in case of
      	private types, interfaces are only allowed in private extensions.
      
      From-SVN: r101575
      Gary Dismukes committed
    • a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array. · 3104eb4a
      2005-07-04  Joel Brobecker  <brobecker@adacore.com>
      
      	* a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
      	This prevents us from hitting a limitation during the debug info
      	generation when using stabs.
      	(Prims_Ptr): Likewise.
      
      From-SVN: r101574
      Joel Brobecker committed
    • mlib-tgt-tru64.adb, [...] (Build_Dynamic_Library): Remove all auto-initialization code... · b87520cd
      2005-07-04  Vincent Celier  <celier@adacore.com>
      
      	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
      	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
      	mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
      	Remove all auto-initialization code, as this is now done through the
      	constructor mechanism.
      
      	* adaint.h, adaint.c (__gnat_binder_supports_auto_init,
      	__gnat_sals_init_using_constructors): New functions.
      
      	* bindgen.adb (Gen_Output_File_Ada): Generate pragmas
      	Linker_Constructor and Linker_Destructor when switch -a is used.
      
      	* bindusg.adb: Add line for new switch -a
      
      	* gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
      	(Gnatbind): When switch -a is used, check if it is allowed
      
      	* switch-b.adb (Scan_Binder_Switches): Process new switch -a
      
      From-SVN: r101573
      Vincent Celier committed
    • s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a… · 0556b702
      s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a code-range descriptor associated with...
      
      2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
      	fetch a code-range descriptor associated with the machine state. On
      	failure set the machine state's PC to 0; on success, pass the
      	descriptor to exc_virtual_unwind.
      
      	* init.c (Tru64 section): New function __gnat_set_code_loc.
      
      From-SVN: r101572
      Eric Botcazou committed
    • 2005-07-04 Thomas Quinot <quinot@adacore.com> · 1a79be3c
      	* g-expect-vms.adb, g-expect.ads, g-expect.adb
      	(Get_Command_Output): New subprogram to launch a process and get its
      	standard output as a string.
      
      From-SVN: r101571
      Thomas Quinot committed
    • * s-stausa.ads, s-stausa.adb: New files. · fc64d83c
      From-SVN: r101570
      Arnaud Charlet committed
    • New file. · f439901c
      From-SVN: r101569
      Arnaud Charlet committed
    • Daily bump. · c4c756da
      [[Split portion of a mixed commit.]]
      
      From-SVN: r101564.2
      GCC Administrator committed
  2. 03 Jul, 2005 21 commits
  3. 02 Jul, 2005 8 commits
    • re PR target/21742 (unrecognized insn for struct-layout-1 tests with complex members) · 7a31c801
              PR middle-end/21742
              * expr.c (write_complex_part): Use adjust_address for MEM.
              (read_complex_part): Same.
      
      From-SVN: r101539
      David Edelsohn committed
    • re PR tree-optimization/22280 (ICE in referenced_var_lookup while compiling ali.adb) · 5f013fd0
      2005-07-02  Daniel Berlin  <dberlin@dberlin.org>
      
      	Fix PR tree-optimization/22280
      
      	* tree-sra.c (generate_element_init): Remove useless loop.
      
      From-SVN: r101538
      Daniel Berlin committed
    • Make-lang.in (cc1plus-checksum.c): Use build/genchecksum$(build_exeext), not… · a194ef01
      Make-lang.in (cc1plus-checksum.c): Use build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
      
      	* Make-lang.in (cc1plus-checksum.c): Use
      	build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
      
      From-SVN: r101537
      Kazu Hirata committed
    • alpha.c (alpha_legitimize_address): Check for TLS_MODEL_NONE. · 6cb718e4
              * config/alpha/alpha.c (alpha_legitimize_address): Check for
              TLS_MODEL_NONE.
              (alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
      
      From-SVN: r101536
      Richard Henderson committed
    • re PR tree-optimization/14490 ([tree-ssa] Simplify "a - 10 > 150" into "a > 160") · 70a9e64b
      2005-07-02  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR middle-end/14490
              * fold-const.c (fold_binary): Handle the return value of
              fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
              Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
      
      From-SVN: r101535
      Andrew Pinski committed
    • tree-ssa-dom.c (find_equivalent_equality_comparison): Do not a eliminate type… · 2d0dab7f
      tree-ssa-dom.c (find_equivalent_equality_comparison): Do not a eliminate type conversion which feeds an equality comparison if...
      
      
              * tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
              a eliminate type conversion which feeds an equality comparison
              if the original type or either operand in the comparison is a
              function pointer.
      
      	* gcc.dg/tree-ssa/pr22051-1.c: New test.
      	* gcc.dg/tree-ssa/pr22051-2.c: New test.
      
      From-SVN: r101534
      Jeff Law committed
    • c.opt, [...]: Remove "." from end of help texts. · c85ce869
      	* c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
      	config/rs6000/rs6000.opt, params.def: Remove "." from end of help
      	texts.
      	* config/avr/avr.c: Do not use '`' as left quote.
      	* config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
      	Remove "." from end of diagnostics.  Make diagnostics start with
      	lowercase letter.
      
      cp:
      	* name-lookup.c, parser.c: Use %q, %< and %> to quote in
      	diagnostics.
      
      fortran:
      	* lang.opt: Remove "." from end of help texts.
      
      objc:
      	* objc-act.c: Use %q to quote in diagnostics.
      
      From-SVN: r101533
      Joseph Myers committed
    • toplev.c (default_tree_printer): Handle setting location with '+' flag. · dee15844
      2005-07-02  Zack Weinberg  <zack@codesourcery.com>
                  Joseph S. Myers  <joseph@codesourcery.com>
      
      	* toplev.c (default_tree_printer): Handle setting location with
      	'+' flag.
      	* c-objc.common.c (c_tree_printer): Likewise.
      	* c-format.c (gcc_diag_flag_specs): Add '+'.
      	(gcc_cdiag_char_table): Allow '+' flag for tree formats.
      	(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
      	formats.
      	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
      	config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
      	config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
      	config/v850/v850.c, function.c, stor-layout.c, toplev.c,
      	tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
      	instead of %J or %H.  Use 'q' flag for quoting.  Avoid '.' at end
      	of diagnostics.  Use %q+D not %s for a decl.  Do not pass excess
      	format arguments where %J is used without %D.
      
      cp:
      	* error.c (location_of): Add comment.
      	(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
      	* cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
      	* call.c, class.c, decl.c, decl2.c, friend.c, init.c,
      	name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c,
      	typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
      	or cp_pedwarn_at.  Mark up some diagnostic strings with N_.
      
      java:
      	* class.c, decl.c, expr.c: Use '+' flag instead of %J.  Use 'q'
      	flag for quoting.
      
      objc:
      	* objc-act.c: Use '+' flag instead of %J.  Use 'q' flag for
      	quoting.
      
      testsuite:
      	* gcc.dg/format/gcc_diag-1.c: Update.
      
      From-SVN: r101532
      Joseph Myers committed