Eric Botcazou [Thu, 27 Sep 2007 16:28:50 +0000 (16:28 +0000)]
Mapped location support
Mapped location support
* back_end.adb (Call_Back_End): Pass information about source
files instead of units to gigi.
* gigi.h (struct File_Info_Type): New.
(gigi): Rename and change type of number_units parameter, change
type of file_info_ptr parameter.
* trans.c (number_files): New global variable.
(gigi): Rename and change type of number_units parameter, change
type of file_info_ptr parameter.
If mapped location support is enabled, create the isomorphic mapping
between source files and line maps.
(Sloc_to_locus): If mapped location support is enabled, translate
source location into mapped location.
(annotate_with_node): Rename into set_expr_location_from_node.
Call set_expr_location instead of annotate_with_locus.
(Pragma_to_gnu): Adjust for above change.
(Loop_Statement_to_gnu): Likewise.
(call_to_gnu): Likewise.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
(add_stmt_with_node): Likewise.
(add_cleanup): Likewise.
* utils.c (gnat_init_decl_processing): Do not set input_line.
From-SVN: r128839
Joseph Myers [Thu, 27 Sep 2007 14:01:16 +0000 (15:01 +0100)]
rs6000.c (rs6000_legitimize_address): Do not reduce offset by units of 0x10000 for SPE vector modes or modes used...
* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not
reduce offset by units of 0x10000 for SPE vector modes or modes
used with E500 double instructions.
From-SVN: r128837
Francois-Xavier Coudert [Thu, 27 Sep 2007 13:39:26 +0000 (13:39 +0000)]
openmp_stack.f90: Fix typo.
* gfortran.dg/openmp_stack.f90: Fix typo.
* gfortran.dg/recursive_stack.f90: Fix typo.
From-SVN: r128834
Paolo Bonzini [Thu, 27 Sep 2007 11:29:10 +0000 (11:29 +0000)]
simplify-rtx.c (comparison_result): New.
2007-09-04 Paolo Bonzini <bonzini@gnu.org>
* simplify-rtx.c (comparison_result): New.
(simplify_const_relational_operation): Use it instead of the five
"equal|op[01]ltu?" variables; consequently remove redundant "else"s.
Improve bounds-checking optimizations; remove subsumed POPCOUNT
optimizations. Extract nonzero_address_p optimizations into a
separate "if" together with optimizations where op1 is const0_rtx.
Optimize comparing an IOR with zero. Simplify op0 RELOP op0 for
floating-point arguments too when appropriate. Hoist test for ABS
outside the final switch statement.
* cse.c (fold_rtx): Don't look for an IOR equivalent of
folded_arg0 if we found a constant equivalent. Remove
transformations done in simplify-rtx.c for "op0 RELOP op0".
From-SVN: r128833
Paolo Carlini [Thu, 27 Sep 2007 09:20:59 +0000 (09:20 +0000)]
re PR c++/33493 (Broken diagnostic: 'dl_expr' not supported by dump_expr)
/cp
2007-09-27 Paolo Carlini <pcarlini@suse.de>
PR c++/33493
* error.c (dump_expr): Deal with DELETE_EXPR and VEC_DELETE_EXPR.
* cxx-pretty-print.c (pp_cxx_delete_expression): Add missing
spaces in the formatting.
* cxx-pretty-print.h (pp_cxx_delete_expression): Declare.
/testsuite
2007-09-27 Paolo Carlini <pcarlini@suse.de>
PR c++/33493
* g++.dg/template/error31.C: New.
From-SVN: r128831
Jakub Jelinek [Thu, 27 Sep 2007 07:24:58 +0000 (09:24 +0200)]
builtins.c (expand_builtin, [...]): Use new %K format string specifier for diagnostics.
* builtins.c (expand_builtin, expand_builtin_object_size,
expand_builtin_memory_chk, maybe_emit_chk_warning,
maybe_emit_sprintf_chk_warning): Use new %K format string specifier
for diagnostics.
* expr.c (expand_expr_real_1): Likewise.
* langhooks-def.h (struct diagnostic_info): Add forward decl.
(lhd_print_error_function): Add third argument.
* langhooks.h (struct diagnostic_info): Add forward decl.
(struct lang_hooks): Add third argument to print_error_function.
* diagnostic.h (diagnostic_info): Add abstract_origin field.
(diagnostic_last_function_changed, diagnostic_set_last_function): Add
second argument.
(diagnostic_report_current_function): Likewise.
* toplev.c (announce_function): Pass NULL as second argument to
diagnostic_set_last_function.
* diagnostic.c (diagnostic_report_current_function): Add second
argument, pass it as third argument to lang_hooks.print_error_function.
(default_diagnostic_starter): Pass DIAGNOSTIC as second argument
to diagnostic_report_current_function.
(diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin
and message.abstract_origin.
(verbatim): Initialize abstract_origin.
* pretty-print.h (text_info): Add abstract_origin field.
* pretty-print.c (pp_base_format): Handle %K.
* langhooks.c (lhd_print_error_function): Add third argument. If
diagnostic->abstract_origin, print virtual backtrace.
* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K.
(init_dynamic_diag_info): Likewise.
cp/
* error.c (cxx_print_error_function): Add third argument, pass
it over to lhd_print_error_function.
(cp_print_error_function): If diagnostic->abstract_origin, print
virtual backtrace.
* cp-tree.h (struct diagnostic_info): New forward decl.
(cxx_print_error_function): Add third argument.
java/
* lang.c (java_print_error_function): Add third argument.
testsuite/
* lib/prune.exp: Prune also "^In function .*$" lines and
"^ inlined from .*$" lines.
From-SVN: r128830
GCC Administrator [Thu, 27 Sep 2007 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r128828
Francois-Xavier Coudert [Wed, 26 Sep 2007 22:27:16 +0000 (22:27 +0000)]
re PR libfortran/30780 (FPE in CPU_TIME (and possibly others) with -ffpe-trap=underflow)
PR fortran/30780
* invoke.texi: Add note to -ffpe-trap option. Fix typos.
From-SVN: r128825
Benjamin Kosnik [Wed, 26 Sep 2007 17:04:06 +0000 (17:04 +0000)]
stl_algo.h: Add return type information to comments.
2007-09-26 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_algo.h: Add return type information to comments.
* include/bits/algorithmfwd.h: Formatting.
* testsuite/util/testsuite_hooks.h (NonDefaultConstructible): Move..
* testsuite/util/testsuite_api.h: ...here. Add necessary operators
for use in testing chapters 25 and 26.
* testsuite/util/testsuite_character.h: Same.
* testsuite/25_algorithms/*/requirements/explicit_instantiation/
2.cc, pod.cc: New.
* testsuite/26_numerics/accumulate, adjacent_difference, inner_product,
partial_sum/requirements/explicit_instantiation/2.cc, pod.cc: New.
* testsuite/26_numerics/numeric_arrays/*: Move contents into
testsuite/26_numerics.
* testsuite/26_numerics/numeric_operations: Same.
* testsuite/23_containers/*/requirements/explicit_instantiation/2.cc:
Adjust includes from testsuite_eh.h to testsuite_api.h.
Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com>
From-SVN: r128822
David Daney [Wed, 26 Sep 2007 16:45:39 +0000 (16:45 +0000)]
re PR target/33479 (SyncTest Intermittent failing on MIPS)
2007-09-26 David Daney <ddaney@avtrex.com>
PR target/33479
* config/mips/mips.md (sync_compare_and_swap<mode>, sync_old_add<mode>,
sync_new_add<mode>, sync_old_<optab><mode>, sync_new_<optab><mode>,
sync_old_nand<mode>, sync_new_nand<mode>,
sync_lock_test_and_set<mode>): Fix '&' constraint modifiers.
Update length attributes.
(sync_add<mode>, sync_sub<mode>, sync_old_sub<mode>,
sync_new_sub<mode>, sync_<optab><mode>, sync_nand<mode>): Update
length attributes.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP,
MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND,
MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Add
post-loop sync.
From-SVN: r128821
Richard Guenther [Wed, 26 Sep 2007 15:31:50 +0000 (15:31 +0000)]
re PR tree-optimization/33563 (DSE removes non-dead store)
2007-09-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33563
* tree-ssa-dse.c (get_use_of_stmt_lhs): Rename to ...
(get_kill_of_stmt_lhs): ... this. Re-structure. Handle
aggregate stores.
(dse_optimize_stmt): Call get_kill_of_stmt_lhs instead of
get_use_of_stmt_lhs.
* gcc.dg/torture/pr33563.c: New testcase.
From-SVN: r128815
Arnaud Charlet [Wed, 26 Sep 2007 13:11:38 +0000 (15:11 +0200)]
Resync.
From-SVN: r128812
Joseph Myers [Wed, 26 Sep 2007 12:32:27 +0000 (13:32 +0100)]
re PR c/25309 (ICE on initialization of a huge array)
PR c/25309
* c-common.c (complete_array_type): Diagnose too-large arrays and
set type to error_mark_node.
testsuite:
* gcc.dg/large-size-array-2.c: Expect diagnostic for too-large
array.
* gcc.dg/large-size-array-4.c: New. Copy of large-size-array-2.c
without -O2.
From-SVN: r128811
Richard Guenther [Wed, 26 Sep 2007 11:55:17 +0000 (11:55 +0000)]
re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization)
2007-09-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/30375
PR tree-optimization/33560
* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
with calls.
Revert
2006-05-22 Aldy Hernandez <aldyh@redhat.com>
* tree-ssa-dse.c (aggregate_vardecl_d): New.
(dse_global_data): Add aggregate_vardecl field.
(dse_possible_dead_store_p): New.
Add prev_defvar variable.
Allow immediate uses and previous immediate uses to differ
if they are setting different parts of the whole.
(get_aggregate_vardecl): New.
(dse_record_partial_aggregate_store): New.
(dse_whole_aggregate_clobbered_p): New.
(dse_partial_kill_p): New.
Call dse_maybe_record_aggregate_store().
When checking whether a STMT and its USE_STMT refer to the
same memory address, check also for partial kills that clobber
the whole.
Move some variable definitions to the block where they are used.
(aggregate_vardecl_hash): New.
(aggregate_vardecl_eq): New.
(aggregate_vardecl_free): New.
(aggregate_whole_store_p): New.
(tree_ssa_dse): Initialize and free aggregate_vardecl.
Mark which aggregate stores we care about.
* gcc.dg/tree-ssa/complex-4.c: XFAIL.
* gcc.dg/tree-ssa/complex-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
* gcc.dg/torture/pr30375.c: New testcase.
* gcc.dg/torture/pr33560.c: New testcase.
* gcc.dg/tree-ssa/pr30375.c: Likewise.
From-SVN: r128810
Vincent Celier [Wed, 26 Sep 2007 10:47:19 +0000 (12:47 +0200)]
makegpr.adb (Link_Executables): Do not fail when the root project has no sources, but is an extending project.
2007-09-26 Vincent Celier <celier@adacore.com>
* makegpr.adb (Link_Executables): Do not fail when the root project has
no sources, but is an extending project.
From-SVN: r128809
Sergey Rybin [Wed, 26 Sep 2007 10:47:11 +0000 (12:47 +0200)]
vms_data.ads: Revise gnatmetric qualifiers.
2007-09-26 Sergey Rybin <rybin@adacore.com>
* vms_data.ads: Revise gnatmetric qualifiers.
Add qualified for the new gnatbind option '-y'
* gnat_ugn.texi: Revise the gnatmetric section.
Add entry for new gnatbind option '-y'.
* gnat_rm.texi: Minor spelling correction.
Document restriction on overlaying controlled types
From-SVN: r128808
Robert Dewar [Wed, 26 Sep 2007 10:46:59 +0000 (12:46 +0200)]
s-wchstw.adb: provide messages for run time unit exceptions
2007-09-26 Robert Dewar <dewar@adacore.com>
* s-wchstw.adb: provide messages for run time unit exceptions
* a-witeio.adb: Minor reformatting
* exp_ch13.adb: Minor reformatting
From-SVN: r128807
Vincent Celier [Wed, 26 Sep 2007 10:46:51 +0000 (12:46 +0200)]
snames.adb, snames.ads: Change Include_Option to Include_Switches
2007-09-26 Vincent Celier <celier@adacore.com>
* snames.adb, snames.ads: Change Include_Option to Include_Switches
From-SVN: r128806
Robert Dewar [Wed, 26 Sep 2007 10:46:43 +0000 (12:46 +0200)]
sem_warn.adb (Check_References): Catch more cases of unreferenced packages.
2007-09-26 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Check_References): Catch more cases of unreferenced
packages.
From-SVN: r128805
Ed Schonberg [Wed, 26 Sep 2007 10:46:30 +0000 (12:46 +0200)]
sem_res.adb (Resolve_Call): If the call is dispatching...
2007-09-26 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): If the call is dispatching, generate the
proper kind of reference to the primitive operation, for better source
navigation.
(Valid_Conversion): A tagged conversion is legal if both operands are
tagged.
From-SVN: r128804
Ed Schonberg [Wed, 26 Sep 2007 10:46:22 +0000 (12:46 +0200)]
sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution rule for qualified expressions properly...
2007-09-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
rule for qualified expressions properly, to detect improper conversions
and resolve some cases of overloading.
From-SVN: r128803
Ed Schonberg [Wed, 26 Sep 2007 10:46:08 +0000 (12:46 +0200)]
sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct ancestor of the derived type...
2007-09-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
ancestor of the derived type, the operations are inherited from the
primary dispatch table of the parent.
(OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
when the context is an explicit type conversion.
From-SVN: r128802
Robert Dewar [Wed, 26 Sep 2007 10:46:00 +0000 (12:46 +0200)]
sem_attr.adb (Analyze_Access_Attribute): Fix missing set of Address_Taken.
2007-09-26 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
Address_Taken.
From-SVN: r128801
Gary Dismukes [Wed, 26 Sep 2007 10:45:45 +0000 (12:45 +0200)]
par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95 message to cite use of <> in aggregate component associations...
2007-09-26 Gary Dismukes <dismukes@adacore.com>
* par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
message to cite use of <> in aggregate component associations rather
than wrongly indicating use of limited aggregates.
From-SVN: r128800
Vincent Celier [Wed, 26 Sep 2007 10:45:36 +0000 (12:45 +0200)]
osint.adb, osint.ads: Minor reformatting
2007-09-26 Vincent Celier <celier@adacore.com>
* osint.adb, osint.ads: Minor reformatting
* osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
From-SVN: r128799
Vincent Celier [Wed, 26 Sep 2007 10:45:24 +0000 (12:45 +0200)]
Make-lang.in: Update dependencies..
2007-09-26 Vincent Celier <celier@adacore.com>
* Make-lang.in: Update dependencies..
From-SVN: r128798
Vincent Celier [Wed, 26 Sep 2007 10:45:15 +0000 (12:45 +0200)]
makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
2007-09-26 Vincent Celier <celier@adacore.com>
* makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
* prj.ads, prj.adb (Default_Language): Remove function, no longer used
Replace components Compiler_Min_Options and Binder_Min_Options with
Compiler_Required_Switches and Binder_Required_Switches in record
Language_Config.
Remove components Default_Language and Config in Project_Tree_Data,
no longer used.
* prj-attr.adb: New attributes Required_Switches (<language>) in
packages Compiler and Binder.
* prj-nmsc.adb: Major rewrite of the processing of configuration
attributes for gprbuild. No impact on GNAT tools.
* prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
process configuration attributes: this is done in Prj.Nmsc.Check.
(Recursive_Process): Make a full copy of packages inherited from project
being extended, instead of a shallow copy.
(Process_Project_Tree_Phase_1): New procedure
(Process_Project_Tree_Phase_1): New procedure
(Process): Implementation now uses the two new procedures
* prj-util.adb (Executable_Of): Get the suffix and the default suffix
from the project config, not the tree config that no longer exists.
From-SVN: r128797
Vincent Celier [Wed, 26 Sep 2007 10:44:55 +0000 (12:44 +0200)]
makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
2007-09-26 Vincent Celier <celier@adacore.com>
* makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
* prj.ads, prj.adb (Default_Language): Remove function, no longer used
Replace components Compiler_Min_Options and Binder_Min_Options with
Compiler_Required_Switches and Binder_Required_Switches in record
Language_Config.
Remove components Default_Language and Config in Project_Tree_Data,
no longer used.
* prj-attr.adb: New attributes Required_Switches (<language>) in
packages Compiler and Binder.
* prj-nmsc.adb: Major rewrite of the processing of configuration
attributes for gprbuild. No impact on GNAT tools.
* prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
process configuration attributes: this is done in Prj.Nmsc.Check.
(Recursive_Process): Make a full copy of packages inherited from project
being extended, instead of a shallow copy.
(Process_Project_Tree_Phase_1): New procedure
(Process_Project_Tree_Phase_1): New procedure
(Process): Implementation now uses the two new procedures
* prj-util.adb (Executable_Of): Get the suffix and the default suffix
from the project config, not the tree config that no longer exists.
From-SVN: r128796
Vincent Celier [Wed, 26 Sep 2007 10:44:46 +0000 (12:44 +0200)]
make.adb: (Kill): New procedure (__gnat_kill imported)
2007-09-26 Vincent Celier <celier@adacore.com>
* make.adb: (Kill): New procedure (__gnat_kill imported)
(Running_Compile, Outstanding_Compiles): Global variables that
were previously local to procedure Compile_Sources.
(Sigint_Intercepted): Send signal SIGINT to all outstanding
compilation processes.
(Gnatmake): If project files are used, create the mapping of all the
sources, so that the correct paths will be found.
* prj-env.ads, prj-env.adb (Create_Mapping): New procedure
From-SVN: r128795
Vincent Celier [Wed, 26 Sep 2007 10:44:35 +0000 (12:44 +0200)]
gnatcmd.adb (Check_Files): Do not include sources that have been removed by attributes...
2007-09-26 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Do not include sources that have been
removed by attributes Exclude_Source_Files or Locally_Removed_Files.
From-SVN: r128794
Vincent Celier [Wed, 26 Sep 2007 10:44:26 +0000 (12:44 +0200)]
gnatbind.adb: If there are several ALI files specified and there is a main program to bind...
2007-09-26 Vincent Celier <celier@adacore.com>
* gnatbind.adb: If there are several ALI files specified and there is
a main program to bind, the first ALI is expected to contain the main
subprogram and the names of the binder generated files will be derived
from the first ALI file name.
(Gnatbind): Fix insertion character in invocation of Error_Msg
From-SVN: r128793
Florian Villoing [Wed, 26 Sep 2007 10:44:16 +0000 (12:44 +0200)]
g-dirope.adb (Remove_Dir): In case we are removing directories recursively...
2007-09-26 Florian Villoing <villoing@adacore.com>
* g-dirope.adb (Remove_Dir): In case we are removing directories
recursively, make sure that if an exception is raised during the
processing, the current working directory is reset to its initial
value before propagating the exception.
From-SVN: r128792
Emmanuel Briot [Wed, 26 Sep 2007 10:44:07 +0000 (12:44 +0200)]
g-comlin.ads, [...] (Command_Line_Configuration, [...]): New types
2007-09-26 Emmanuel Briot <briot@adacore.com>
* g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
Command_Line): New types
(Define_Alias, Define_Prefix, Free): New subprograms. These provide
support for defining how switches can be grouped on a command line (as
is the case for -gnatw... for GNAT), and how simple switches can be
used as aliases for more complex switches (-gnatwa is same as
-gnatwbcef...)
(Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
(Start, Current_*): New subprograms
Added support for parsing an array of strings in addition to the real
command line.
(Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
be moved from the body to the private part of the spec.
(*): All subprograms now have an extra parameter with default value to
specify which parser should be used. For backward compatibility, it
defaults to parsing the command line of the application. They were also
modified to properly handle cases where each of the argument does not
start at index 1 (which is always true for Ada.Command_Line, but not
when processing any Argument_List).
(Free): New subprogram
(Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
Argument): New subprograms
(Switch_Parameter_Type): New enum, which clarifies the code. The extra
special characters like ':', '=',... are now handled in a single place,
which makes the code more extensible eventually.
(Getopt, Full_Switch): When the switch was returned as part of the
special character '*', make sure it is prepended by the switch character
('-' in general), so that the application knows whether "foo" or "-foo"
was specified on the command line.
From-SVN: r128791
Hristian Kirtchev [Wed, 26 Sep 2007 10:43:45 +0000 (12:43 +0200)]
g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks.
2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
* g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
call to Jan_1_Day _Of_Week to optimize its performance.
(Is_Leap): Move the routine to the scope of Week_In_Year.
(Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
weekday on which January 1 falls of Year - 1 and Year + 1. This function
avoids calling Time_Of and Split, thus making it more efficent.
(Week_In_Year): Reimplemented in oder to follow ISO 8601.
* g-calend.ads (Week_In_Year): Change comment to reflect new
implementation.
From-SVN: r128790
Gary Dismukes [Wed, 26 Sep 2007 10:43:34 +0000 (12:43 +0200)]
freeze.adb (Freeze_Entity): Remove check for preelaborable initialization of a full view.
2007-09-26 Gary Dismukes <dismukes@adacore.com>
* freeze.adb (Freeze_Entity): Remove check for preelaborable
initialization of a full view. This is moved to
Analyze_Package_Specification.
* sem_ch7.adb (Analyze_Package_Specification): Add check for
preelaborable initialization of a full view in entity loop.
(Uninstall_Declarations): If entity is a use-visible compilation unit,
its child units are use-visible only if they are visible child units.
* sem_util.adb (Is_Preelaborable_Expression): New function to determine
whether an expression can be used within a type declaration that
requires preelaborable init.
(Check_Components): Replace inline code that does partial checking for
preelaborable default expressions with call to
Is_Preelaborable_Expression.
(Has_Preelaborable_Initialization): In the case of a generic actual
subtype, (that is, Is_Generic_Actual is True), return the result of
applying Has_Preelaborable_Initialization to the generic actual's base
type.
From-SVN: r128789
Gary Dismukes [Wed, 26 Sep 2007 10:43:08 +0000 (12:43 +0200)]
exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the debug variable so that it won't be initialized when...
2007-09-26 Gary Dismukes <dismukes@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
debug variable so that it won't be initialized when pragma
Initialize_Scalars is in effect.
From-SVN: r128788
Robert Dewar [Wed, 26 Sep 2007 10:42:59 +0000 (12:42 +0200)]
exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
2007-09-26 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
* debug.adb: Add d.s flag.
From-SVN: r128787
Javier Miranda [Wed, 26 Sep 2007 10:42:49 +0000 (12:42 +0200)]
einfo.adb (Is_Thunk): New attribute applicable to subprograms.
2007-09-26 Javier Miranda <miranda@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
for thunks associated with interface types.
* einfo.ads: Improve documentatation of Is_Internal
(Is_Thunk): New attribute applicable to subprograms. True for thunks
associated with interface types.
Extensive comment fixes regarding flags that appear in all entities. The
documentation is now consistent for all such flags (there were a number
of errors in the documentation in this regard).
* exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
* exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
of these procedures are passed a function call that already has
build-in-place actuals (testing new flag
Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
the case where processing continues.
(Expand_Call): If the call is generated from a thunk body then we
propagate the extra actuals associated with the accessibility
level of the access type actuals.
* sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
of each extra formal of a protected operation to reference the
corresponding extra formal of the subprogram denoted by the
operation's Protected_Body_Subprogram.
* sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
N_Function_Call nodes.
From-SVN: r128786
Robert Dewar [Wed, 26 Sep 2007 10:42:29 +0000 (12:42 +0200)]
checks.adb, [...]: Improve warnings for address overlays.
2007-09-26 Robert Dewar <dewar@adacore.com>
* checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
overlays.
* sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
(Analyze_Record_Representation_Clause): Suppress junk warning for
missing component clause.
(Analyze_Attribute_Definition_Clause, case Address): Apply the special
tests for controlled type overlay to composites with controlled
components.
(Analyze_Record_Representation_Clause): Add reference for component name
From-SVN: r128785
Javier Miranda [Wed, 26 Sep 2007 10:42:20 +0000 (12:42 +0200)]
a-tags.adb:
2007-09-26 Javier Miranda <miranda@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* a-tags.adb:
(Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
indirection added to the HT_Link component of the TSD. This is required
to statically allocate the TSD.
* a-tags.ads:
Minor reordering of the declarations in the private part. Required to
add a level of indirection to the contents of the TSD component HT_Link.
This is required to statically allocate the TSD.
* decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
Is_Statically_Allocated set from constant objects.
Do not make exported constants created by the compiler volatile.
(gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
as read-only.
* trans.c (Identifier_to_gnu): For constants, unshare initializers
before returning them.
* exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
public part of the package.
(Make_DT): Move HT_Link component out of the TSD record. For this
purpose Make_DT now declares a separate object that stores the
HT_Link value, and initializes the TSD component with the address
of this new object. The addition of this level of indirection is
required to statically allocate the TSD because the TSD cannot
have variable components.
(Expand_Interface_Conversion): Improve the expanded code.
(Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
* sem_disp.adb (Check_Dispatching_Operation): In case of a body
declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
if we are building static dispatch tables then we must not generate
extra code to register the primitive because the dispatch table will
be built at the end of the library package; otherwise we notify that
we cannot build the static dispatch table.
From-SVN: r128784
Thomas Quinot [Wed, 26 Sep 2007 10:42:09 +0000 (12:42 +0200)]
gnatvsn.ads (PCS_Version_Number, [...]): Removed.
2007-09-26 Thomas Quinot <quinot@adacore.com>
Sergey Rybin <rybin@adacore.com>
* gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
* exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
where it belongs.
* opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
* rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
where it belongs.
* sem_dist.ads: Minor comment fix
* tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
From-SVN: r128783
Olivier Hainque [Wed, 26 Sep 2007 10:41:58 +0000 (12:41 +0200)]
adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around #include <utime.h> and #define GCC_RESOURCE_H...
2007-09-26 Olivier Hainque <hainque@adacore.com>
* adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
#include <utime.h> and #define GCC_RESOURCE_H before
#include <sys/wait.h>.
Add more protections in __gnat_translate_vms.
* expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
#include <sys/wait.h>.
From-SVN: r128782
Jerome Guitton [Wed, 26 Sep 2007 10:41:47 +0000 (12:41 +0200)]
s-taprop-lynxos.adb, [...] (Stop_Task): New function, dummy implementation.
2007-09-26 Jerome Guitton <guitton@adacore.com>
* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
* s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
* s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
function which can be called by the debugger to interrupt the tasks of
an Ada application asynchronously, as needed on VxWorks.
(Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
* s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
renamed from Stop_All_Tasks. Update comments.
(Stop_All_tasks): New function declaration.
From-SVN: r128781
Hristian Kirtchev [Wed, 26 Sep 2007 10:41:35 +0000 (12:41 +0200)]
a-calend-vms.adb, [...]: Add a section on leap seconds control along with two entities used to enable...
2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
* a-calend-vms.adb, a-calend.adb:
Add a section on leap seconds control along with two entities used to
enable and disable leap seconds support. The array Leap_Second_Times is
now constant and contains hard time values pre-generated. Remove
all elaboration code used to populate the table of leap seconds.
* bindgen.adb:
Add entity Leap_Seconds_Support to the list of global run-time variables
along with a comment on its usage and values.
(Gen_Adainit_Ada): Add code to generate the declaration and import of
Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
or one (enabled) depending on the presence of binder switch "-y".
(Gen_Adainit_C): Add code to generate the declaration of external int
__gl_leap_seconds_support. Set is value to zero (disabled) or one
(enabled) depending on the presence of binder switch "-y".
* init.c: Add __gl_leap_seconds_support to the list of global values
computed by the binder.
From-SVN: r128780
Hristian Kirtchev [Wed, 26 Sep 2007 10:41:24 +0000 (12:41 +0200)]
sem_ch8.adb (Analyze_Use_Type): Code cleanup.
2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch8.adb (Analyze_Use_Type): Code cleanup.
(Applicable_Use): Emit a warning when a package tries to use itself.
(Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
is already in use or the package where it is declared is in use or is
declared in the current package.
(Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
* a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
From-SVN: r128779
Arnaud Charlet [Wed, 26 Sep 2007 10:41:08 +0000 (12:41 +0200)]
Update test.
From-SVN: r128778
GCC Administrator [Wed, 26 Sep 2007 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128776
DJ Delorie [Wed, 26 Sep 2007 00:03:07 +0000 (20:03 -0400)]
re PR target/33551 (ICE: RTL check: expected elt 0 type 'i' or 'n', have 'w' (rtx const_int) in m32c_immd_dbl_mov, at config/m32c/m32c.c:3010)
PR target/33551
* config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of
XINT.
From-SVN: r128773
Richard Sandiford [Tue, 25 Sep 2007 21:18:11 +0000 (21:18 +0000)]
libstdc++.exp (check_v3_target_fileio): Test lseek.
libstdc++-v3/
* testsuite/lib/libstdc++.exp (check_v3_target_fileio): Test lseek.
From-SVN: r128772
Eric Botcazou [Tue, 25 Sep 2007 19:29:23 +0000 (19:29 +0000)]
trans.c: Fix misplaced #define.
* trans.c: Fix misplaced #define.
From-SVN: r128771
Simon Martin [Tue, 25 Sep 2007 18:34:05 +0000 (18:34 +0000)]
re PR c++/33207 (ICE redeclaring namespace as struct)
gcc/cp/
2007-09-25 Simon Martin <simartin@users.sourceforge.net>
PR c++/33207
* name-lookup.c (pushtag): Do not create an implicit typedef before
the associated type declaration is known to be valid.
gcc/testsuite/
2007-09-25 Simon Martin <simartin@users.sourceforge.net>
PR c++/33207
* g++.dg/parse/crash38.C: New test.
From-SVN: r128769
Michael Meissner [Tue, 25 Sep 2007 15:54:00 +0000 (15:54 +0000)]
Fix 33524; SSE5 vectorized int->long conversions are broken
From-SVN: r128768
Revital Eres [Tue, 25 Sep 2007 15:34:48 +0000 (15:34 +0000)]
Add missing built-in support for 750CL ps_sel instruction
From-SVN: r128767
Joseph Myers [Tue, 25 Sep 2007 15:04:58 +0000 (16:04 +0100)]
re PR c/32295 (An invalid c code causes an ICE in create_tmp_var, at gimplify.c:489)
PR c/32295
* c-typeck.c (default_conversion): Call require_complete_type
before perform_integral_promotions.
(build_unary_op): Call require_complete_type except for ADDR_EXPR.
(build_c_cast): Call require_complete_type except for casts to
void types.
(convert_for_assignment): Call require_complete_type.
testsuite:
* gcc.dg/enum-incomplete-1.c: New test.
From-SVN: r128765
Revital Eres [Tue, 25 Sep 2007 13:17:18 +0000 (13:17 +0000)]
Fix doloop pattern in spu.md
From-SVN: r128764
Bernd Schmidt [Tue, 25 Sep 2007 13:02:54 +0000 (13:02 +0000)]
20070919-1.c: New test.
* gcc.c-torture/compile/
20070919-1.c: New test.
From-SVN: r128763
Bernd Schmidt [Tue, 25 Sep 2007 12:59:32 +0000 (12:59 +0000)]
bfin.c (expand_prologue_reg_save, [...]): Code to save and restore I/M/B/L regs and ASTAT moved here...
* config/bfin/bfin.c (expand_prologue_reg_save,
expand_epilogue_reg_restore): Code to save and restore I/M/B/L regs and
ASTAT moved here...
(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
... from here. New argument ALL; callers changed.
(n_regs_saved_by_prologue): Count ASTAT for plain saveall functions.
(bfin_expand_prologue, bfin_expand_epilogue): Deal with functions that
have the "saveall" attribute.
From-SVN: r128762
Jakub Jelinek [Tue, 25 Sep 2007 10:30:21 +0000 (12:30 +0200)]
tree.c (cxx_printable_name): Compare FUNCTION_DECL uids rather than pointers.
* tree.c (cxx_printable_name): Compare FUNCTION_DECL uids
rather than pointers.
From-SVN: r128761
Kaz Kojima [Tue, 25 Sep 2007 08:01:42 +0000 (08:01 +0000)]
init_flag_3.f90: Add -mieee for sh.
* gfortran.dg/init_flag_3.f90: Add -mieee for sh.
From-SVN: r128745
Hans-Peter Nilsson [Tue, 25 Sep 2007 02:18:37 +0000 (02:18 +0000)]
mmix.h (FUNCTION_INCOMING_ARG_REGNO_P): Don't define bogus target macro.
* config/mmix/mmix.h (FUNCTION_INCOMING_ARG_REGNO_P): Don't define
bogus target macro.
(INCOMING_REGNO, OUTGOING_REGNO): Define.
* config/mmix/mmix.c (mmix_opposite_regno): New function.
* config/mmix/mmix-protos.h (mmix_opposite_regno): Prototype.
From-SVN: r128744
Hans-Peter Nilsson [Tue, 25 Sep 2007 02:01:24 +0000 (02:01 +0000)]
mmix.md ("*cmpcc_folded"): In condition, gate with REG_P tests before REGNO access.
* config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate
with REG_P tests before REGNO access.
From-SVN: r128743
DJ Delorie [Tue, 25 Sep 2007 01:42:34 +0000 (21:42 -0400)]
re PR target/31482 (error: could not split insn, internal compiler error: in final_scan_insn)
PR target/31482
* config/m32c/cond.md (stzx_reversed_<mode>): Add an output
constraint.
(movqicc_<code>_<mode>): Likewise.
(movhicc_<code>_<mode>): Likewise.
From-SVN: r128742
Rask Ingemann Lambertsen [Tue, 25 Sep 2007 01:40:30 +0000 (03:40 +0200)]
re PR target/33184 (m32c: ostream.tcc:92: error: unable to find a register to spill in class 'A_REGS')
2007-08-26 Rask Ingemann Lambertsen <rask@sygehus.dk>
PR target/33184
* config/m32c/m32c.c (m32c_eh_return_data_regno): Leave an address
register for reload.
From-SVN: r128741
Danny Smith [Tue, 25 Sep 2007 00:29:42 +0000 (00:29 +0000)]
re PR c++/14688 (Mis-matched calling convention on virtual functions accepted without error)
PR c++/14688
* config/i386/i386.c (ix86_comp_type_attributes): Check
METHOD_TYPE too.
cp
* search.c (check_final_overrider): Fail if
targetm.comp_type_attributes returns 0.
testsuite
* g++.dg/inherit/override_attribs.C: New file.
From-SVN: r128740
GCC Administrator [Tue, 25 Sep 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128738
Tobias Schlüter [Mon, 24 Sep 2007 21:15:00 +0000 (23:15 +0200)]
re PR fortran/33269 (Diagnose missing "(" in "PRINT ('a'),")
PR fortran/33269
fortran/
* io.c (check_format_string): Move NULL and constant checks into
this function.
(check_io_constraints): Call gfc_simplify_expr() before calling
check_format_string(). Remove NULL and constant checks.
testsuite/
* gfortran.dg/fmt_error_2.f90: New.
From-SVN: r128732
Roman Zippel [Mon, 24 Sep 2007 21:10:14 +0000 (21:10 +0000)]
loop-2f.x: New.
* gcc.c-torture/execute/loop-2f.x: New. Disable test for m68k-linux.
* gcc.c-torture/execute/loop-2g.x: Likewise.
From-SVN: r128731
Roman Zippel [Mon, 24 Sep 2007 21:07:08 +0000 (21:07 +0000)]
m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use "move.l %a4,%a4" to produce nops.
* config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use
"move.l %a4,%a4" to produce nops.
* config/m68k/m68k.c (override_options): Reset align options,
if neccessary align macro isn't avaible.
From-SVN: r128730
Roman Zippel [Mon, 24 Sep 2007 21:05:07 +0000 (21:05 +0000)]
config/m68k/linux.h (PREFERRED_STACK_BOUNDARY): New.
From-SVN: r128729
Roman Zippel [Mon, 24 Sep 2007 21:02:40 +0000 (21:02 +0000)]
m68k.c (strict_low_part_peephole_ok): Don't leave the basic block.
* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
the basic block.
* config/m68k/m68k.md (movsi_m68k): Allow certain constant when
reload is completed.
(peephole pattern): Convert most of them to RTL peephole pattern.
From-SVN: r128728
Roman Zippel [Mon, 24 Sep 2007 21:00:22 +0000 (21:00 +0000)]
m68k.c (notice_update_cc): Recognize fp compare (moved from fp compare patterns).
* config/m68k/m68k.c (notice_update_cc): Recognize fp compare
(moved from fp compare patterns).
* config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf):
Cleanup predicates to relieve reload.
(conditional_trap): Reject conditional trap with fp condition.
* gcc/config/m68k/predicates.md (fp_src_operand): New, reject
certain constants early.
From-SVN: r128727
Roman Zippel [Mon, 24 Sep 2007 20:57:06 +0000 (20:57 +0000)]
* gcc/final.c (final_scan_insn): Remove accidentally duplicated code.
From-SVN: r128726
Jason Merrill [Mon, 24 Sep 2007 20:54:34 +0000 (16:54 -0400)]
re PR c++/33239 (internal compiler error in instantiate_class_template, at cp/pt.c:5666)
PR c++/33239
* pt.c (resolve_typename_type): Don't look things up in the original
template if it would mean losing template arguments.
From-SVN: r128725
Francois-Xavier Coudert [Mon, 24 Sep 2007 20:24:11 +0000 (20:24 +0000)]
re PR fortran/33538 (bootstrap break in fortran on *-apple-darwin r128671)
PR fortran/33538
* scanner.c, parse.c, gfortran.h: Revert revision 128671.
From-SVN: r128724
Richard Sandiford [Mon, 24 Sep 2007 19:57:29 +0000 (19:57 +0000)]
target-supports.exp (check_effective_target_mips16_attribute): Reject hard-float modes unless the ABI is o32 or o64.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_mips16_attribute):
Reject hard-float modes unless the ABI is o32 or o64.
* gcc.target/mips/inter/mips16-inter.exp: Load gcc-dg.exp instead
of gcc.exp. Skip the tests when mips16 code generation is not
supported.
* gcc.target/mips/mips16-attributes.c: Require mips16_attribute
and use dg-add-options mips16_attribute.
From-SVN: r128723
Andrew Pinski [Mon, 24 Sep 2007 17:15:50 +0000 (17:15 +0000)]
config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
2007-09-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
Allow --with-tune=cell and --with-cpu=cell.
From-SVN: r128721
Peter Bergner [Mon, 24 Sep 2007 16:55:40 +0000 (11:55 -0500)]
* MAINTAINERS (Register allocation reviewer): Add myself.
From-SVN: r128720
David Edelsohn [Mon, 24 Sep 2007 15:39:18 +0000 (15:39 +0000)]
rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
* config/rs6000/rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
* config/rs6000/rs6000.opt (swdiv): Change option to ...
(recip): this.
* config/rs6000/rs6000.c (rs6000_builtin_reciprocal): New
function.
(TARGET_BUILTIN_RECIPROCAL): Use it.
(rs6000_builtin_expand): Expand recip, recipf, and rsqrtf.
(rs6000_init_builtins): Initialize recip, recipf, and rsqrtf.
(rs6000_emit_swrsqrtsf): New.
* config/rs6000/rs6000.h (rs6000_builtins): Add recip, recipf, and
rsqrtf.
* config/rs6000/rs6000.md (UNSPEC_RSQRT): Define.
(divsf3): Remove swdiv support.
(recipsf3): New.
(rsqrtsf2): New.
(rsqrt_internal1): New.
(divdf3): Remove swdiv support.
(reciptdf3): New.
From-SVN: r128719
Jakub Jelinek [Mon, 24 Sep 2007 15:16:23 +0000 (17:16 +0200)]
re PR c++/33506 (TYPE_RAISES_EXCEPTIONS dumped with attributes)
PR c++/33506
* langhooks.h (struct lang_hooks_for_types): Add type_hash_eq
field.
* langhooks-def.h (LANG_HOOKS_TYPE_HASH_EQ): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_HASH_EQ.
* tree.c (type_hash_eq): For FUNCTION_TYPE use
lang_hooks.type.type_hash_eq in addition to generic tests.
* cp-tree.h (cxx_type_hash_eq): New prototype.
* cp-objcp-common.h (LANG_HOOKS_TYPE_HASH_EQ): Redefine.
* tree.c (cxx_type_hash_eq): New function.
* g++.dg/ext/attrib29.C: New test.
From-SVN: r128718
Douglas Gregor [Mon, 24 Sep 2007 13:46:40 +0000 (13:46 +0000)]
re PR c++/33185 (ICE: canonical types differ for identical types T [] and T [])
2007-09-24 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33185
* tree.c (cp_build_qualified_type_real): Build a canonical
ARRAY_TYPE if the original ARRAY_TYPE was not a canonical type.
From-SVN: r128717
Kenneth Zadeck [Mon, 24 Sep 2007 13:42:39 +0000 (13:42 +0000)]
MAINTAINERS (Register allocation reviewer): Add myself.
2006-09-24 Kenneth Zadeck <zadeck@naturalbridge.com>
* MAINTAINERS (Register allocation reviewer): Add myself.
From-SVN: r128716
Pranav Bhandarkar [Mon, 24 Sep 2007 13:31:25 +0000 (13:31 +0000)]
tree-inline.h (eni_weights): Add field target_builtin_cost to reflect the cost per call to a target specific...
2007-09-24 Pranav Bhandarkar <pranav.bhandarkar@celunite.com>
Ramana Radhakrishnan <ramana@hercules.pun.celunite.com>
* tree-inline.h (eni_weights): Add field target_builtin_cost to
reflect the cost per call to a target specific builtin.
* tree-inline.c (estimate_num_insns_1): If it is a CALL_EXPR for
* a
call to a target specific builtin, then use
target_builtin_call_cost.
(init_inline_once): Initialize target_builtin_call_cost field.
Co-Authored-By: Ramana Radhakrishnan <ramana@hercules.pun.celunite.com>
From-SVN: r128714
Uros Bizjak [Mon, 24 Sep 2007 12:36:57 +0000 (14:36 +0200)]
* testsuite/ChangeLog: Fix whitespace.
From-SVN: r128713
Uros Bizjak [Mon, 24 Sep 2007 12:35:14 +0000 (14:35 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r128712
Douglas Gregor [Mon, 24 Sep 2007 12:14:57 +0000 (12:14 +0000)]
re PR c++/33112 (ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14])
2007-09-24 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33112
PR c++/33185
* tree.c (cplus_array_compare): Compare pointers, not types.
(build_cplus_array_type_1): Store new array type into the hash
table before building the canonical type; build the canonical type
correctly.
(cp_build_qualified_type_real): Put all of the array types with
cv-qualified element types into the C++ array hash table, built as
variants of the unqualified versions.
From-SVN: r128711
Kai Tietz [Mon, 24 Sep 2007 09:20:34 +0000 (09:20 +0000)]
[patch][Bug middle-end/33472] ICE and invalid rtl sharing with complex on
x86_64-mingw.
2007-09-24 Kai Tietz <kai.tietz@onevision.com>
* i386.c: (return_in_memory_ms_64): Handle return types for complex types.
From-SVN: r128710
GCC Administrator [Mon, 24 Sep 2007 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128707
H.J. Lu [Sun, 23 Sep 2007 21:07:27 +0000 (21:07 +0000)]
configure.ac (ld_vers): Support GNU linker version xx.xx.*
2007-09-23 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac (ld_vers): Support GNU linker version xx.xx.*
* configure: Regenerated.
From-SVN: r128702
Ollie Wild [Sun, 23 Sep 2007 20:05:40 +0000 (20:05 +0000)]
fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer operand.
gcc/
fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer operand.
(get_pointer_modulus_and_residue): New function.
gcc/testsuite/
gcc.dg/fold-bitand-1.c: New test.
gcc.dg/fold-bitand-2.c: New test.
gcc.dg/fold-bitand-3.c: New test.
gcc.dg/fold-bitand-4.c: New test.
From-SVN: r128701
Richard Sandiford [Sun, 23 Sep 2007 19:20:01 +0000 (19:20 +0000)]
mips.c (build_mips16_call_stub): On 64-bit targets, combine an SC return value into a single register.
gcc/
* config/mips/mips.c (build_mips16_call_stub): On 64-bit targets,
combine an SC return value into a single register.
From-SVN: r128700
Richard Sandiford [Sun, 23 Sep 2007 19:18:27 +0000 (19:18 +0000)]
opth-gen.awk (target_flags_explicit): Declare.
gcc/
* opth-gen.awk (target_flags_explicit): Declare.
* toplev.h (target_flags_explicit): Delete declaration.
* toplev.c (target_flags): Likewise.
* config/mips/mips.h (mips_llsc_setting, mips_llsc): Delete.
(GENERATE_SYNC, GENERATE_LL_SC): Redefine using target_explicit_flags.
Never return true for TARGET_MIPS16.
* config/mips/mips.c (mips_llsc): Delete.
(mips_handle_option): Remove -mllsc handling.
(mips_strip_unspec_address): Tweak comment.
* config/mips/mips.opt (mllsc): Use a target mask.
gcc/testsuite/
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Don't expect
any of the macros to be defined for __mips16.
* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise.
From-SVN: r128699
Richard Sandiford [Sun, 23 Sep 2007 19:11:50 +0000 (19:11 +0000)]
tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to word_mode as well as Pmode.
gcc/
* doc/tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to
word_mode as well as Pmode.
From-SVN: r128698
Richard Sandiford [Sun, 23 Sep 2007 19:09:56 +0000 (19:09 +0000)]
pr21591.c: Require vect_int.
gcc/testsuite/
* gcc.dg/vect/pr21591.c: Require vect_int.
* gcc.dg/vect/vect-outer-2.c: Require vect_intfloat_cvt.
* gcc.dg/vect/vect-outer-2a.c: Likewise.
* gcc.dg/vect/vect-outer-2c.c: Likewise.
From-SVN: r128697
Richard Sandiford [Sun, 23 Sep 2007 19:08:56 +0000 (19:08 +0000)]
function.c (assign_parm_setup_block): Explicitly convert BLKmode parameters from word_mode to the subword type if...
gcc/
* function.c (assign_parm_setup_block): Explicitly convert BLKmode
parameters from word_mode to the subword type if such a truncation
is not a no-op.
From-SVN: r128696
Jakub Jelinek [Sun, 23 Sep 2007 17:42:31 +0000 (19:42 +0200)]
configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
* configure: Regenerated.
From-SVN: r128693
Jan Hubicka [Sun, 23 Sep 2007 15:42:06 +0000 (17:42 +0200)]
params.def (INLINE_CALL_COST): Set to 12.
* params.def (INLINE_CALL_COST): Set to 12.
* invoke.texi (inline-call-cost): Update default value.
From-SVN: r128692
Jason Merrill [Sun, 23 Sep 2007 15:27:10 +0000 (11:27 -0400)]
re PR c++/16370 (__attribute__((deprecated)) not useful on classes, and ugly function name listed for deperecation warnings on constructor)
PR c++/16370
* decl.c (grokdeclarator): Look through implicit TYPE_DECLs
for deprecation warnings.
From-SVN: r128691
Eric Botcazou [Sun, 23 Sep 2007 14:53:06 +0000 (14:53 +0000)]
alpha.md (movti): Use operand_subword for the split.
* config/alpha/alpha.md (movti): Use operand_subword for the split.
From-SVN: r128690
Ayal Zaks [Sun, 23 Sep 2007 11:58:19 +0000 (11:58 +0000)]
Minor cosmetic change
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r128689
Jakub Jelinek [Sun, 23 Sep 2007 09:44:23 +0000 (11:44 +0200)]
re PR tree-optimization/32772 (error: found real variable when subvariables should have appeared)
PR tree-optimization/32772
* gcc.c-torture/compile/
20070905-1.c: New test.
PR tree-optimization/32975
* gcc.dg/pr32975.c: New test.
From-SVN: r128688