charlet [Tue, 26 Oct 2010 12:56:43 +0000 (12:56 +0000)]
2010-10-26 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb: Fix typo, comment updates.
* namet.adb: Minor comment additions.
* einfo.ads: Minor comment update.
2010-10-26 Javier Miranda <miranda@adacore.com>
* einfo.adb (Set_Dispatch_Table_Wrappers): Complete the assertion.
2010-10-26 Robert Dewar <dewar@adacore.com>
* par.adb, par-ch13.adb (Aspect_Specifications_Present): Add Strict
parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165955
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:53:09 +0000 (12:53 +0000)]
2010-10-26 Bob Duff <duff@adacore.com>
* namet.adb: Improve hash function.
Increase the size from 2**12 to 2**16 buckets.
2010-10-26 Thomas Quinot <quinot@adacore.com>
* sem_disp.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165954
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:48:29 +0000 (12:48 +0000)]
2010-10-26 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch4.adb, sem_disp.adb, switch-c.adb: Minor
reformatting.
* gnat_ugn.texi: Document -gnateP switch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165953
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:45:45 +0000 (12:45 +0000)]
2010-10-26 Robert Dewar <dewar@adacore.com>
* opt.ads (Treat_Categorization_Errors_As_Warnings): New flag
* sem_cat.adb (Check_Categorization_Dependencies):
Use Check_Categorization_Dependencies
* switch-c.adb: GNAT Mode sets Treat_Categorization_Errors_As_Warnings
-gnateP sets Treat_Categorization_Errors_As_Warnings
* usage.adb: Add line for -gnateP switch
2010-10-26 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Handle primitives
inherited from the parent that cover interface primitives.
(Derive_Progenitor_Subprograms): Handle primitives inherited from
the parent that cover interface primitives.
* sem_disp.adb (Find_Primitive_Covering_Interface): When searching in
the list of primitives of the type extend the test to include inherited
private primitives.
* sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Add missing
barrier to the loop searching for explicit overriding primitives.
* sem_ch4.adb (Analyze_Indexed_Component_Form): Add missing barrier
before accessing attribute Entity.
2010-10-26 Bob Duff <duff@adacore.com>
* make.adb: Call Namet.Finalize, so we can get statistics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165952
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:35:17 +0000 (12:35 +0000)]
2010-10-26 Geert Bosch <bosch@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the subprogram_body
node to determine wether the subprogram is a rewritten parameterized
expression.
2010-10-26 Robert Dewar <dewar@adacore.com>
* opt.ads: Minor code reorganization
Alphabetize Warning switches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165951
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:32:21 +0000 (12:32 +0000)]
2010-10-26 Robert Dewar <dewar@adacore.com>
* sem_res.adb, xsinfo.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165950
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:30:25 +0000 (12:30 +0000)]
2010-10-26 Bob Duff <duff@adacore.com>
* namet.adb (Finalize): More cleanup of statistics printouts.
2010-10-26 Robert Dewar <dewar@adacore.com>
* ceinfo.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165949
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:28:37 +0000 (12:28 +0000)]
2010-10-26 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Check_Overriding_Indicator, New_Overloaded_Entity): When
setting attribute Overridden_Operation do not reference the entities
generated by Derive_Subprograms but their aliased entity (which
is the primitive inherited from the parent type).
2010-10-26 Bob Duff <duff@adacore.com>
* namet.adb, namet.ads: Minor cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165948
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:21:31 +0000 (12:21 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165947
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 12:19:56 +0000 (12:19 +0000)]
2010-10-26 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
appropriate.
* exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
this new abstraction where appropriate.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Code clean up.
2010-10-26 Paul Hilfinger <hilfinger@adacore.com>
* exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
debugging data.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Note_Possible_Modification): If the target of an
assignment is the bound variable in an iterator, the domain of
iteration, i.e. array or container, is modified as well.
2010-10-26 Bob Duff <duff@adacore.com>
* Make-generated.in: Make the relevant make targets depend on
ceinfo.adb and csinfo.adb.
* csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
so when called from xeinfo, the failure will be noticed.
* sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
* xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb: Set properly parent field of operands of concatenation.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Check_Infinite_Recursion): A recursive call within a
conditional expression or a case expression should not generate an
infinite recursion warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165946
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 11:02:31 +0000 (11:02 +0000)]
2010-10-26 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb (Is_Overriding_Operation): Removed.
(Set_Is_Overriding_Operation): Removed.
* sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to
Is_Overriding_Operation.
* exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to
Is_Overriding_Operation.
* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant
call to Set_Is_Overriding_Operation.
* sem_util.adb (Collect_Primitive_Operations): Replace test on
Is_Overriding_Operation by test on the presence of attribute
Overridden_Operation.
(Original_Corresponding_Operation): Remove redundant call to attribute
Is_Overriding_Operation.
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
redundant call to Is_Overriding_Operation.
(Verify_Overriding_Indicator): Replace several occurrences of test on
Is_Overriding_Operation by test on the presence of attribute
Overridden_Operation.
(Check_Convention): Replace test on Is_Overriding_Operation by test on
the presence of Overridden_Operation.
(Check_Overriding_Indicator): Add missing decoration of attribute
Overridden_Operation. Minor code cleanup.
(New_Overloaded_Entity): Replace occurrence of test on
Is_Overriding_Operation by test on the presence of attribute
Overridden_Operation. Remove redundant setting of attribute
Is_Overriding_Operation plus minor code reorganization.
Add missing decoration of attribute Overridden_Operation.
* sem_elim.adb (Set_Eliminated): Replace test on
Is_Overriding_Operation by test on the presence of Overridden_Operation.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on
Is_Overriding_Operation by test on the presence of
Overridden_Operation. Remove a redundant test on attribute
Is_Overriding_Operation.
* lib-xref.adb (Generate_Reference): Replace test on
Is_Overriding_Operation by test on the presence of Overridden_Operation.
(Output_References): Replace test on Is_Overriding_Operation by test on
the presence of Overridden_Operation.
* sem_disp.adb (Override_Dispatching_Operation): Replace test on
Is_Overriding_Operation by test on the presence of Overridden_Operation.
Add missing decoration of attribute Overridden_Operation.
2010-10-26 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check
RM 13.4.1(10).
2010-10-26 Bob Duff <duff@adacore.com>
* sem_res.adb (Resolve_Actuals): In case of certain
internally-generated type conversions (created by OK_Convert_To, so the
Conversion_OK flag is set), avoid fetching the component type when it's
not really an array type, but a private type completed by an array type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165945
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:57:52 +0000 (10:57 +0000)]
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Adjust format of error message.
2010-10-26 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (OK_To_Reference): Removed, no longer used.
* exp_util.adb (Side_Effect_Free): Put in safety barrier in code to
detect renamings to avoid problems with invariants.
* sem_ch13.adb (Replace_Type_References_Generic): New procedure
(Build_Invariant_Procedure): Use Replace_Type_Reference_Generic
(Build_Predicate_Function): Use Replace_Type_Reference_Generic
* sem_res.adb, sem_ch8.adb, sem_ch4.adb (OK_To_Reference): Remove
references, flag is no longer set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165944
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:55:01 +0000 (10:55 +0000)]
2010-10-26 Vincent Celier <celier@adacore.com>
* prj.ads (Source_Data): New Boolean component Initialized, defaulted
to False, set to True when Source_Data is completely initialized.
* prj-env.adb: Minor comment fix.
2010-10-26 Robert Dewar <dewar@adacore.com>
* sem_case.adb, sem_ch6.adb, sem_util.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165943
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:52:27 +0000 (10:52 +0000)]
Update copyright notice.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165942
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:51:36 +0000 (10:51 +0000)]
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iteration_Scheme): Diagnose attempt to use thew
form "for X in A" when A is an array object. This form is only intended
for containers.
* sem_eval.adb: Fix reference to non-existing field of type conversion
node.
* sem_case.adb (Check_Choices): Improve error reporting for overlapping
choices in case statements.
2010-10-26 Gary Dismukes <dismukes@adacore.com>
* exp_disp.adb (Expand_Interface_Actuals): When expanding an actual for
a class-wide interface formal that involves applying a displacement
conversion to the actual, check for the case of calling a build-in-place
function and handle generation of the implicit BIP parameters (call
Make_Build_In_Place_Call_In_Anonymous_Context).
Add with and use of Exp_Ch6.
2010-10-26 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_cat.ads: Minor reformatting.
2010-10-26 Sergey Rybin <rybin@adacore.com>
* vms_data.ads: Define VMS qualifier for gnatelim '--ignore' option
2010-10-26 Thomas Quinot <quinot@adacore.com>
* sem_util.adb (Has_Preelaborable_Initialization.Check_Components):
For a discriminant, use Discriminant_Default_Value rather than
Expression (Declaration_Node (D)).
2010-10-26 Geert Bosch <bosch@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Parameterized
expressions don't need a spec, even when style checks require
subprograms to have one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165941
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:45:54 +0000 (10:45 +0000)]
* gnatvsn.ads: Update comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165940
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:42:02 +0000 (10:42 +0000)]
2010-10-26 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Add bounded hashed set and bounded hashed
map containers.
* a-cohata.ads: Add declaration of generic package for bounded hash
table types.
* a-chtgbo.ads, a-chtgbo.adb, a-chtgbk.ads, a-chtgbk.adb, a-cbhase.ads,
a-cbhase.adb, a-cbhama.ads, a-cbhama.adb: New files.
2010-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb: Improve warning message on overlapping actuals.
2010-10-26 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb, exp_dist.adb: Minor reformatting.
2010-10-26 Vincent Celier <celier@adacore.com>
* makeusg.adb (Makeusg): Add lines for switches -vl, -vm and -vh.
2010-10-26 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Move generation of
predicate check to analyzer, since too much rewriting occurs in the
analyzer.
* sem_ch13.adb (Build_Predicate_Function): Change calling sequence, and
change the order in which things are done to fix several errors in
dealing with qualification of the type name.
(Build_Static_Predicate): Built static predicate after full analysis
of the body. This is necessary to fix several problems.
* sem_ch3.adb (Analyze_Object_Declaration): Move predicate check here
from expander, since too much expansion occurs in the analyzer to leave
it that late.
(Analyze_Object_Declaration): Change parameter Include_Null to new name
Include_Implicit in Is_Partially_Initialized_Type call.
(Analyze_Subtype_Declaration): Make sure predicates are proapagated in
some strange cases of internal subtype generation.
* sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type): Change
Include_Null to Include_Implicit, now includes the case of
discriminants.
2010-10-26 Sergey Rybin <rybin@adacore.com>
* gnat_rm.texi: Revise the documentation for pragma Eliminate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165939
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 26 Oct 2010 10:31:39 +0000 (10:31 +0000)]
2010-10-26 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Added bounded list container.
* a-cbdlli.ads, a-cbdlli.adb: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165938
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 26 Oct 2010 10:22:43 +0000 (10:22 +0000)]
2010-10-26 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp ([check_v3_target_normal_mode]): Add.
* testsuite/lib/dg-options.exp ([dg-require-normal-mode]): Likewise.
* testsuite/23_containers/headers/forward_list/synopsis.cc: Use the
latter.
* testsuite/23_containers/headers/vector/synopsis.cc: Likewise.
* testsuite/23_containers/headers/deque/synopsis.cc: Likewise.
* testsuite/23_containers/headers/bitset/synopsis.cc: Likewise.
* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
* testsuite/23_containers/headers/set/synopsis.cc: Likewise.
* testsuite/23_containers/headers/map/synopsis.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165937
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 26 Oct 2010 06:49:43 +0000 (06:49 +0000)]
2010-10-26 Tobias Burnus <burnus@net-b.de>
PR fortran/45451
* trans-stmt.c (gfc_trans_allocate): Do a deep-copy for SOURCE=.
PR fortran/43018
* trans-array.c (duplicate_allocatable): Use size of type and not
the size of the pointer to the type.
2010-10-26 Tobias Burnus <burnus@net-b.de>
PR fortran/45451
* gfortran.dg/class_allocate_5.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165936
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 26 Oct 2010 04:56:45 +0000 (04:56 +0000)]
Implement opaque-enum-specifiers for C++0x.
gcc/
* tree.h (ENUM_IS_OPAQUE): New.
* dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
gcc/cp/
* cp-tree.h (SET_OPAQUE_ENUM_P): New.
(OPAQUE_ENUM_P): New.
(ENUM_FIXED_UNDERLYING_TYPE_P): New.
(start_enum): Update prototype.
(finish_enum_value_list): New prototype.
* parser.c (cp_parser_elaborated_type_specifier): Issue a pedwarn if
"enum class" is used in an elaborated-type-specifier.
(cp_parser_enum_specifier): Rewrite to parse opaque-enum-specifiers.
* decl.c (copy_type_enum): New.
(finish_enum_value_list): New, with code from finish_enum.
(finish_enum): A lot of code removed. Added a gcc_assert.
(start_enum): Add parameters enumtype and is_new.
Rewrite to work with opaque-enum-specifiers.
* pt.c (maybe_process_partial_specialization): Allow for template
specialization of enumerations, with a pedwarn.
(lookup_template_class): Update call to start_enum. Call to
SET_OPAQUE_ENUM_P.
(tsubst_enum): Call to begin_scope, finish_scope and
finish_enum_value_list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165935
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Tue, 26 Oct 2010 03:22:49 +0000 (03:22 +0000)]
* stor-layout.c (layout_decl): Use the field's type to
determine the mode and keep DECL_BIT_FIELD for a volatile
bit-field.
* config/arm/arm.c (arm_override_options): Default to
-fstrict-volatile-bitfields.
testsuite/
* gcc.target/arm/volatile-bitfields-1.c: New test.
* gcc.target/arm/volatile-bitfields-2.c: New test.
* gcc.target/arm/volatile-bitfields-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165934
138bc75d-0d04-0410-961f-
82ee72b054a4
pkoning [Tue, 26 Oct 2010 00:46:55 +0000 (00:46 +0000)]
* config/pdp11/pdp11.md: Add define_constants for register
numbers, branch offset limits.
* config/pdp11/pdp11.c: Use named constants instead of numbers.
* config/pdp11.pdp11.h: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165933
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 26 Oct 2010 00:17:04 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165932
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 25 Oct 2010 19:29:10 +0000 (19:29 +0000)]
* gcc-interface/utils2.c: Include flags.h and remove prototypes.
(build_unary_op) <TRUTH_NOT_EXPR>: When not optimizing, fold the result
of the call to invert_truthvalue_loc.
* gcc-interface/Make-lang.in (utils2.o): Add $(FLAGS_H).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165928
138bc75d-0d04-0410-961f-
82ee72b054a4
cfang [Mon, 25 Oct 2010 18:17:48 +0000 (18:17 +0000)]
Correct the Changelog entries.
* Changelog (2010-10-22 Changpeng Fang): Correct the
Changelog entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165927
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 25 Oct 2010 17:44:05 +0000 (17:44 +0000)]
* gcc-interface/utils.c (update_pointer_to): Clear TYPE_POINTER_TO and
TYPE_REFERENCE_TO of the old type after redirecting its pointer and
reference types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165926
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 25 Oct 2010 17:26:04 +0000 (17:26 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not set
TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165925
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Mon, 25 Oct 2010 16:07:34 +0000 (16:07 +0000)]
2010-10-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/46140
* fortran/scanner.c (include_line): Check return value of load_file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165922
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 25 Oct 2010 15:28:13 +0000 (15:28 +0000)]
2010-10-25 Jose Ruiz <ruiz@adacore.com>
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux):
Reorganize target pairs so that it works on linux and ElinOS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165921
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 25 Oct 2010 15:26:02 +0000 (15:26 +0000)]
2010-10-25 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_file_time_name_attr): Use GetFileAttributesEx to get
the timestamp. A bit faster than opening/closing the file.
(__gnat_stat_to_attr): Remove kludge for Windows.
(__gnat_file_exists_attr): Likewise.
The timestamp is now retreived using GetFileAttributesEx as faster.
2010-10-25 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Derive_Interface_Subprogram): New subprogram.
(Derive_Subprograms): For abstract private types transfer to the full
view entities of uncovered interface primitives. Required because if
the interface primitives are left in the private part of the package
they will be decorated as hidden when the analysis of the enclosing
package completes (and hence the interface primitive is not visible
for dispatching calls).
2010-10-25 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Added bounded set and bounded map
containers.
* a-crbltr.ads: Added declaration of generic package for bounded tree
types.
* a-rbtgbo.ads, a-rbtgbo.adb, a-rbtgbk.ads, a-rbtgbk.adb, a-btgbso.ads,
a-btgbso.adb, a-cborse.ads, a-cborse.adb, a-cborma.ads, a-cborma.adb:
New.
2010-10-25 Thomas Quinot <quinot@adacore.com>
* sem_util.adb: Minor reformatting.
* usage.adb: Fix usage line for -gnatwh.
2010-10-25 Thomas Quinot <quinot@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation): For an
instantiation in an RCI spec, omit package body if instantiation comes
from source, even as a nested
package.
* exp_dist.adb (Add_Calling_Stubs_To_Declarations,
*_Support.Add_Receiving_Stubs_To_Declarations): Handle the case of
nested packages, package instantiations and subprogram instantiations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165920
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 25 Oct 2010 14:44:20 +0000 (14:44 +0000)]
2010-10-25 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb (Expand_Predicated_Loop): Remove code for loop through
non-static predicate, since we agree not to allow this.
(Expand_Predicated_Loop): Properlay handle false predicate (null
list in Static_Predicate field.
* sem_ch13.adb (Build_Static_Predicate): Extensive changes to clean up
handling of more general predicate forms.
2010-10-25 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb, sem_util.adb: Minor reformatting.
* sem_ch8.adb (Find_Selected_Component): Allow selection from instance
of type in predicate or invariant expression.
2010-10-25 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_stat_to_attr): Can set the timestamp on Windows now.
(f2t): New routine.
(__gnat_stat): Rewrite Win32 version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165919
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 25 Oct 2010 14:39:59 +0000 (14:39 +0000)]
2010-10-25 Robert Dewar <dewar@adacore.com>
* sem_warn.adb, einfo.ads, exp_ch4.adb: Minor comment fix
* sem_case.adb: Comment clarification for loops through false
predicates.
* sem_util.adb: Minor reformatting
(Check_Order_Dependence): Fix bad double blank in error message
2010-10-25 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Membership_Op): in Ada_2012 a membership
operation can have a single alternative that is a value of the type.
Rewrite operation as an equality test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165918
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 25 Oct 2010 13:50:29 +0000 (13:50 +0000)]
2010-10-25 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Added a-cobove (bounded vector container)
to lists.
* a-contai.ads: Added declaration of Capacity_Error exception.
* a-cobove.ads, a-cobove.adb: New files.
2010-10-25 Thomas Quinot <quinot@adacore.com>
* uname.adb: Revert previous change, no longer needed after change
in par-ch10.adb.
2010-10-25 Thomas Quinot <quinot@adacore.com>
* scos.ads: Minor comment fix.
2010-10-25 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Assignment_Statement): Check dangerous order
dependence.
* sem_ch6.adb (Analyze_Procedure_Call_Statement): Ditto.
* sem_res.adb (Analyze_Actuals): Add actual to list of actuals for
current construct, for subsequent order dependence checking.
(Resolve): Check order dependence on expressions that are not
subexpressions.
* sem_util.adb (Check_Order_Dependence): Code cleanup, to correspond
to latest version of AI05-144-2.
* sem_warn.adb (Warn_On_Overlapping_Actuals): Code cleanup.
2010-10-25 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Build_Static_Predicate): Moved out of
Build_Predicate_Function.
(Build_Static_Predicate): Complet rewrite for more general predicates
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165917
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Mon, 25 Oct 2010 12:02:03 +0000 (12:02 +0000)]
Fix a typo in my last ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165916
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 25 Oct 2010 10:47:19 +0000 (10:47 +0000)]
2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (_Fwd_list_node_base::swap): Remove.
(_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&),
_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
Don't use swap.
(forward_list<>::swap): Just use std::swap.
* include/bits/forward_list.h (_Fwd_list_base<>::_Fwd_list_base(),
_Fwd_list_base(const _Alloc&)): Don't zero again _M_next.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165915
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 25 Oct 2010 10:35:07 +0000 (10:35 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Function): Allow
In Out/Out parameters for functions.
* gcc-interface/trans.c (gnu_return_var_stack): New variable.
(create_init_temporary): New static function.
(Subprogram_Body_to_gnu): Handle In Out/Out parameters for functions.
(call_to_gnu): Likewise. Use create_init_temporary in order to create
temporaries for unaligned parameters and return value. If there is an
unaligned In Out or Out parameter passed by reference, push a binding
level if not already done. If a binding level has been pushed and the
call is returning a value, create the call statement.
(gnat_to_gnu) <N_Return_Statement>: Handle In Out/Out parameters for
functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165914
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 25 Oct 2010 10:08:01 +0000 (10:08 +0000)]
* configure.ac: Use $cpu_type instead of $target to define the nop.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165913
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 25 Oct 2010 09:42:08 +0000 (09:42 +0000)]
2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>:_M_get_Value_allocator):
Remove, unused.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165912
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Mon, 25 Oct 2010 09:37:19 +0000 (09:37 +0000)]
* combine.c (try_combine): If insns need to be kept around,
check that they can be copied in the merged instruction.
testsuite/
g++.dg/opt/combine.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165911
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 25 Oct 2010 00:17:56 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165910
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 24 Oct 2010 20:50:20 +0000 (20:50 +0000)]
* reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
has been modified.
(convert_regs_2): Likewise. Adjust calls to convert_regs_1.
(convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if
it has been modified.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165905
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 24 Oct 2010 19:25:11 +0000 (19:25 +0000)]
* config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165904
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sun, 24 Oct 2010 17:23:19 +0000 (17:23 +0000)]
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
* Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
* accessors.m: New.
* init.c: Include objc-private/accessors.h.
(__objc_exec_class): Call __objc_accessors_init.
* objc-private/accessors.h: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165903
138bc75d-0d04-0410-961f-
82ee72b054a4
pkoning [Sun, 24 Oct 2010 17:04:17 +0000 (17:04 +0000)]
* config/pdp11/pdp11.md: Change length attribute to be in bytes.
* config/pdp11/pdp11.c (output_jump): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165902
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sun, 24 Oct 2010 16:48:57 +0000 (16:48 +0000)]
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/45735
* obj-c.dg/pr45735.mm: New.
* obj-c++.dg/pr45735.mm: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165901
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sun, 24 Oct 2010 14:44:54 +0000 (14:44 +0000)]
* config/i386/i386.c (ix86_va_start): Remove extraneous blank
line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165900
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 24 Oct 2010 10:39:11 +0000 (10:39 +0000)]
2010-10-24 François Dumont <francois.cppdevs@free.fr>
* src/debug.cc: Fix parameter indexes in __msg_valid_range2 message.
Replace 'before begin' decription in 'before-begin' for consistency
with 'paste-the-end'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165899
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sun, 24 Oct 2010 10:39:05 +0000 (10:39 +0000)]
In gcc/testsuite/:
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/24393
* objc.dg/pr24393.m: New.
* obj-c++.dg/pr24393.mm: New.
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/28049
* objc.dg/pr28049.m: New.
* obj-c++.dg/pr28049.mm: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165898
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 24 Oct 2010 07:45:26 +0000 (07:45 +0000)]
* cfglayout.c (fixup_reorder_chain): When ensuring that there is at
least one insn with a locus corresponding to an edge's goto_locus,
disregard non-fallthru edges to the exit block and merge the blocks
created for the same goto_locus.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165897
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sun, 24 Oct 2010 02:44:03 +0000 (02:44 +0000)]
In gcc/cp/:
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
Removed Objective-C++ specific replacement of cxx_printable_name.
* cp-objcp-common.h: Added LANG_HOOKS_DECL_PRINTABLE_NAME, set
to cxx_printable_name for both C++ and Objective-C++.
* cp-lang.h: Removed LANG_HOOKS_DECL_PRINTABLE_NAME.
* error.c (dump_decl): For Objective-C++, call
objc_maybe_printable_name here ...
* tree.c (cxx_printable_name_internal): ... instead of here.
In gcc/objcp/:
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
* objcp-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Do not define.
In gcc/objc/:
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_keyword_decl): Updated comments. Do not
emit a warning that method parameter attributes are unimplemented.
Instead, store them into DECL_ATTRIBUTES of the KEYWORD_DECL.
(start_method_def): Copy attributes from each KEYWORD_DECL into
the corresponding PARM_DECL.
(objc_warn_deprecated_use): Removed.
(build_objc_method_call): Call warn_deprecated_use, not
objc_warn_deprecated_use.
(objc_maybe_printable_name): Do not try to get the identifier name
of DECLs that we don't recognize. Immediately return NULL for them.
(objc_printable_name): Removed C++-specific case, which is no
longer used. Updated comments.
In gcc/testsuite/:
2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/attributes/method-attribute-2.m: Updated test. Method
parameter attributes are now supported.
* obj-c++.dg/attributes/method-attribute-2.m: Same change.
* objc.dg/attributes/parameter-attribute-1.m: New test.
* objc.dg/attributes/parameter-attribute-2.m: New test.
* obj-c++.dg/attributes/parameter-attribute-1.m: New test.
* obj-c++.dg/attributes/parameter-attribute-2.m: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165896
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 24 Oct 2010 00:17:15 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165895
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 23 Oct 2010 22:26:08 +0000 (22:26 +0000)]
* gcc.c (n_switches_alloc_debug_check): New.
(set_option_handlers): New.
(process_command): Use set_option_handlers.
(do_self_spec): Pass spec-generated options through option
handlers.
(main): Also save and restore n_switches_alloc when swapping
switch arrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165891
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Sat, 23 Oct 2010 20:27:20 +0000 (20:27 +0000)]
* MAINTAINERS: Update my email address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165890
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Sat, 23 Oct 2010 19:40:26 +0000 (19:40 +0000)]
tests for Darwin CFStrings
gcc/testsuite:
Based on the CFString implementation in FSF apple/trunk branch.
* gcc.dg/darwin-cfstring-1.c: New.
* gcc.dg/darwin-cfstring-2.c: New.
* gcc.dg/torture/darwin-cfstring-3.c: New.
* g++.dg/other/darwin-cfstring1.C: New.
* g++.dg/torture/darwin-cfstring-3.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165889
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sat, 23 Oct 2010 18:40:39 +0000 (18:40 +0000)]
In gcc/cp/:
2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
* tree.c (cxx_printable_name_internal): In Objective-C++, call
objc_maybe_printable_name.
In gcc/objc/:
2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (OBJC_GEN_METHOD_LABEL): Updated comments.
(objc_demangle): Return NULL if demangling can not be done because
the string to demangle is not an Objective-C mangled method name.
Be smarter in demangling method names so that at least for methods
with no arguments we are able to almost always demangle '_' correctly.
Updated comments.
(objc_maybe_printable_name): New.
(objc_printable_name): Call objc_maybe_printable_name. If it
returns NULL, call cxx_printable_name in Objective-C++.
In gcc/testsuite/:
2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/demangle-1.m: New test.
* obj-c++.dg/demangle-1.mm: New test.
* obj-c++.dg/demangle-2.mm: New test.
* obj-c++.dg/demangle-3.mm: New test.
In gcc/c-family/:
2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (objc_maybe_printable_name): New.
* stub-objc.c (objc_maybe_printable_name): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165887
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 23 Oct 2010 16:42:24 +0000 (16:42 +0000)]
PR target/46144
* config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
(*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
Honor matching operands when splitting to XOR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165885
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 23 Oct 2010 16:18:32 +0000 (16:18 +0000)]
gcc/:
* tree-vrp.c (extract_range_from_binary_expr): If
flag_non_call_exceptions don't eliminate division by zero.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
gcc/testsuite/:
* gcc.c-torture/execute/
20101011-1.c: New test.
* gcc.c-torture/execute/
20101011-1.x: New test driver.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165884
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 23 Oct 2010 13:48:08 +0000 (13:48 +0000)]
2010-10-23 Tobias Burnus <burnus@net-b.de>
PR fortran/46122
* expr.c (gfc_check_vardef_context): Fix PROTECTED check.
2010-10-23 Tobias Burnus <burnus@net-b.de>
PR fortran/46122
* gfortran.dg/protected_8.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165883
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 23 Oct 2010 11:07:09 +0000 (11:07 +0000)]
* gcc.dg/march-generic.c: Skip for -march in multilib options.
* gcc.target/i386/isa-9.c: Skip for -march other than
-march=amdfam10 in multilib options.
* gcc.target/i386/pr42589.c: Skip for -march other than
-march=i486 in multilib options.
* gcc.target/i386/sse-19.c: Add -march=x86-64 option and skip for
other -march in multilib options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165882
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Sat, 23 Oct 2010 03:05:47 +0000 (03:05 +0000)]
gcc/
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
__ORDER_PDP_ENDIAN__.
* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(struct DWstruct): Define based on __BYTE_ORDER__.
* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(struct INTstruct): Define based on __BYTE_ORDER__.
* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* doc/tm.texi: Regenerate.
* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
libdecnumber/
* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
libgcc/
* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
Delete.
(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165881
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Sat, 23 Oct 2010 00:38:13 +0000 (00:38 +0000)]
PR rtl-optimization/37360
* config/mips/mips.c (cached_can_issue_more): New local variable.
(mips_sched_reorder_1): New.
(mips_sched_reorder): Use mips_sched_reorder_1.
(mips_sched_reorder2): New.
(mips_variable_issue): Set cached_can_issue_more.
(TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
instead of mips_sched_reorder.
Revert
2008-09-09 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/37360
* haifa-sched.c (max_issue): Do not assert that we never issue more
insns than issue_rate. Add comment.
testsuite/
PR rtl-optimization/37360
* gcc.dg/pr37360.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165880
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 23 Oct 2010 00:18:21 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165879
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 22 Oct 2010 23:39:16 +0000 (23:39 +0000)]
* gimplify.c (gimplify_variable_sized_compare): Preserve the source
location info of the expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165875
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 22 Oct 2010 22:26:59 +0000 (22:26 +0000)]
* doc/extend.texi (Named Address Spaces): Document the M32C named
address space.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165873
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 22 Oct 2010 21:41:42 +0000 (21:41 +0000)]
* config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
__far address space.
* config/m32c/m32c.h (ADDR_SPACE_FAR): New. Add support for
"__far" address space for R8C and M16C processor variants.
* config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
(far_addr_space_p): New.
(encode_pattern_1): Add sign and zero extend support.
(m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
(m32c_extra_constraint_p2): Add SF constraint.
(m32c_legitimate_address_p): Support __far addresses.
(m32c_addr_space_pointer_mode): New.
(m32c_addr_space_address_mode): New.
(m32c_addr_space_legitimate_address_p): New.
(m32c_addr_space_legitimize_address): New.
(m32c_addr_space_subset_p): New.
(m32c_addr_space_convert): New.
(conversions): Add __far operand patterns.
(m32c_prepare_move): Force constants into registers for __far
moves.
(m32c_split_move): __far moves are always split.
* config/m32c/addsub.md (addsi3_1): Support SImode symbols.
* config/m32c/mov.md (mov<mode>_far_op1): New.
(mov<mode>_far_op2): New.
(movqi_op): Add __far (SF) support.
(movhi_op): Likewise.
(movsi_splittable): Split A1A0 also.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165865
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 22 Oct 2010 21:23:00 +0000 (21:23 +0000)]
Fix regexp in powerpc test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165863
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 22 Oct 2010 21:16:20 +0000 (21:16 +0000)]
Fix regexp in powerpc test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165862
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 22 Oct 2010 20:03:33 +0000 (20:03 +0000)]
2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
Andrew Pinski <pinskia@gmail.com>
* c-typeck.c (build_array_ref): Handle subscripting of vectors.
* doc/extend.texi: New paragraph
c-family/
* c-common.h (c_common_mark_addressable_vec): Declare.
* c-common.c (c_common_mark_addressable_vec): New function.
testsuite/
* gcc.c-torture/execute/vector-subscript-1.c: Likewise.
* gcc.c-torture/execute/vector-subscript-2.c: Likewise.
* gcc.c-torture/execute/vector-subscript-3.c: New testcase.
* gcc.dg/vector-subscript-1.c: Likewise.
* gcc.dg/vector-subscript-2.c: Likewise.
* gcc.dg/vector-subscript-3.c: New testcase.
* gcc.dg/array-8.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165861
138bc75d-0d04-0410-961f-
82ee72b054a4
pkoning [Fri, 22 Oct 2010 20:02:00 +0000 (20:02 +0000)]
* config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165860
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 22 Oct 2010 19:56:51 +0000 (19:56 +0000)]
* config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165859
138bc75d-0d04-0410-961f-
82ee72b054a4
pkoning [Fri, 22 Oct 2010 19:53:48 +0000 (19:53 +0000)]
* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165858
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 22 Oct 2010 19:43:21 +0000 (19:43 +0000)]
Add __builtin_fma vector transform for i386.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165857
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 22 Oct 2010 19:43:01 +0000 (19:43 +0000)]
Use ABS/NEG+USE for vector modes as well.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165856
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 22 Oct 2010 19:34:43 +0000 (19:34 +0000)]
* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
SWITCH_CURTAILS_COMPILATION): Remove.
* doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove
documentation.
* doc/tm.texi: Regenerate.
* system.h (SWITCH_CURTAILS_COMPILATION): Poison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165855
138bc75d-0d04-0410-961f-
82ee72b054a4
cfang [Fri, 22 Oct 2010 19:07:52 +0000 (19:07 +0000)]
Implementation of the pipeline description for Bulldozer (bdver1)
* gcc/config/i386/bdver1.md: New file.
* gcc/config/i386/i386.md (include "bdver1.md"): Invoke the
pipeline description for bdver1.
(x86_sahf_1): Add "bdver1_decode" attribute.
(*cmpfp_i_mixed): Likewise.
(*cmpfp_i_sse): Likewise.
(*cmpfp_i_i387): Likewise.
(*cmpfp_iu_mixed): Likewise.
(*cmpfp_iu_sse): Likewise.
(*cmpfp_iu_387): Likewise.
(*swap<mode>,*swap<mode>_1): Likewise.
(fixuns_trunc<mode>hi2): Likewise.
(fix_trunc<mode>si_sse): Likewise.
(x86_fnstcw_1): Likewise.
(x86_fldcw_1): Likewise.
(*floatsi<mode>2_vector_mixed_with_temp): Likewise.
(*floatsi<mode>2_vector_mixed): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
(*floatsi<mode>2_vector_sse_with_temp): Likewise.
(*floatsi<mode>2_vector_sse): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
(*mul<mode>3_1): Likewise.
(*mulsi3_1_zext): Likewise.
(*mulhi3_1): Likewise.
(*mulqi3_1): Likewise.
(*<u>mul<mode><dwi>3_1): Likewise.
(*<u>mulqihi3_1): Likewise.
(*<s>muldi3_highpart_1): Likewise.
(*<s>mulsi3_highpart_1): Likewise.
(*<s>mulsi3_highpart_zext): Likewise.
(x86_64_shld): Likewise.
(x86_shld): Likewise.
(x86_64_shrd): Likewise.
(x86_shrd): Likewise.
(sqrtxf2): Likewise.
(sqrt_extend<mode>xf2_i387): Likewise.
(*sqrt<mode>2_sse): Likewise.
* gcc/config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
(sse_cvtsi2ssq): Likewise.
(sse_cvtss2si): Likewise.
(sse_cvtss2si_2): Likewise.
(sse_cvtss2siq): Likewise.
(sse_cvtss2siq_2): Likewise.
(sse_cvttss2si): Likewise.
(sse_cvttss2siq): Likewise.
(sse2_cvtpi2pd): Likewise.
(sse2_cvttpd2pi): Likewise.
(sse2_cvtsi2sd): Likewise.
(sse2_cvtsi2sdq): Likewise.
(sse2_cvtsd2si): Likewise.
(sse2_cvtsd2si_2): Likewise.
(sse2_cvtsd2siq): Likewise.
(sse2_cvtsd2siq_2): Likewise.
(sse2_cvttsd2si): Likewise.
(sse2_cvttsd2siq): Likewise.
(*sse2_cvtpd2dq): Likewise.
(*sse2_cvttpd2dq): Likewise.
(sse2_cvtsd2ss): Likewise.
(sse2_cvtss2sd): Likewise.
(*sse2_cvtpd2ps): Likewise.
(sse2_cvtps2pd): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165853
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 22 Oct 2010 19:03:39 +0000 (19:03 +0000)]
2010-10-22 Richard Guenther <rguenther@suse.de>
PR middle-end/46137
* gimple-fold.c (gimplify_and_update_call_from_tree): Properly
remove the virtual operands if they are not needed.
* c-c++-common/torture/pr46137.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165852
138bc75d-0d04-0410-961f-
82ee72b054a4
cfang [Fri, 22 Oct 2010 18:48:33 +0000 (18:48 +0000)]
Update processsor_costs table for bdver1
* gcc/config/i386/i386.c (processor_costs bdver1_cost): Update
insn costs and architectural parameters for bdver1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165851
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 22 Oct 2010 18:37:53 +0000 (18:37 +0000)]
PR c++/46129
* pt.c (instantiate_class_template): Don't instantiate default
arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165850
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 22 Oct 2010 18:37:41 +0000 (18:37 +0000)]
PR c++/46103
* init.c (build_vec_init): Handle memberwise move.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165849
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 22 Oct 2010 17:50:19 +0000 (17:50 +0000)]
2010-10-22 Richard Guenther <rguenther@suse.de>
* gimple.h (gimple_register_canonical_type): Declare.
* gimple.c (gimple_canonical_types): New global hashtable.
(struct gimple_type_leader_entry_s): New type.
(gimple_type_leader): New global cache.
(gimple_lookup_type_leader): New function.
(gtc_visit): Query the proper cache.
(gimple_types_compatible_p): Likewise.
(gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
(gimple_canonical_type_eq): New function.
(gimple_register_canonical_type): Likewise.
(print_gimple_types_stats): Adjust for gimple_canonical_types.
(free_gimple_type_tables): Likewise. Free gimple_type_leader.
* tree-ssa.c (useless_type_conversion_p): Do not dispatch to
gimple_types_compatible_p for LTO.
lto/
* lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
the new gimple_register_canonical_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165848
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 22 Oct 2010 16:12:57 +0000 (16:12 +0000)]
PR target/46098
* config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
(avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
(*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
(<sse>_movu<ssemodesuffix>): New expander.
(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
(avx_movdqu<avxmodesuffix>): New expander.
(*sse2_movdqu): Rename from sse2_movdqu.
(sse2_movdqu): New expander.
testsuite/ChangeLog:
PR target/46098
* gcc.target/i386/pr46098.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165845
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 22 Oct 2010 15:30:08 +0000 (15:30 +0000)]
* gcc.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165838
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 22 Oct 2010 15:24:31 +0000 (15:24 +0000)]
* EXCLUDES: Add read-md.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165837
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 22 Oct 2010 14:58:26 +0000 (14:58 +0000)]
* exgettext: Only handle Warn when followed by '('.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165835
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 14:51:40 +0000 (14:51 +0000)]
2010-10-22 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Add chapter on Ada 2012 support.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb: Minor reformatting.
2010-10-22 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb: Mark missing case of nested package when expanding
stubs.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* par-ch10.adb: Discard incomplete with_clause.
2010-10-22 Robert Dewar <dewar@adacore.com>
* checks.adb (Enable_Range_Check): Remove code suppressing range check
if static predicate present, not needed.
* exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
* exp_ch3.adb (Expand_N_Object_Declaration): Check
Suppress_Assignment_Checks flag.
* exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
of ranges when predicates are present.
* exp_ch5.adb (Expand_Predicated_Loop): New procedure
(Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
(Expand_N_Loop_Statement): Handle loops over predicated types
* sem_case.adb (Analyze_Choices): Remove extra blank in error message.
* sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
message for inheritance if within a generic instance, not useful there!
(Build_Static_Predicate): Optimize test in predicate function
based on static ranges determined.
* sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
subtype with non-static predicate.
* sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165834
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 22 Oct 2010 14:50:24 +0000 (14:50 +0000)]
* cpplib.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165833
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 22 Oct 2010 14:44:48 +0000 (14:44 +0000)]
2010-10-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45720
* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
Handle negative step.
(vect_enhance_data_refs_alignment): Likewise.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
(vect_create_cond_for_align_checks): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* gcc.dg/torture/pr45720.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165832
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 14:44:16 +0000 (14:44 +0000)]
2010-10-22 Thomas Quinot <quinot@adacore.com>
* uname.adb (Get_Unit_Name.Add_Node_Name): If encountering an error
node in the unit name, propagate Program_Error to guard against
cascaded errors.
2010-10-22 Javier Miranda <miranda@adacore.com>
* sem_ch8.adb (Find_Selected_Component): Do not generate a subtype for
selected components of dispatch table wrappers.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Make_Initialize_Protection): A protected type that
implements an interface must be treated as if it has entries, to
support dispatching select statements.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, sem_ch3.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165831
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 14:39:44 +0000 (14:39 +0000)]
2010-10-22 Javier Miranda <miranda@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate.Add): If the type of the
aggregate has a non standard representation the attributes 'Val and
'Pos expand into function calls and the resulting expression is
considered non-safe for reevaluation by the backend. Relocate it into
a constant temporary to indicate to the backend that it is side
effects free.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Concurrent_Derived_Type): Create declaration for
derived corresponding record type only when expansion is enabled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165830
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 14:35:39 +0000 (14:35 +0000)]
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_case.adb, sem_attr.adb (Bad_Predicated_Subtype_Use): Change order
of parameters.
* sem_ch13.adb (Build_Predicate_Function): Don't give inheritance
messages for generic actual subtypes.
* sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_ch3.adb
(Bad_Predicated_Subtype_Use): Use this procedure.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165829
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 13:58:49 +0000 (13:58 +0000)]
2010-10-22 Robert Dewar <dewar@adacore.com>
* a-except-2005.adb (Rmsg_18): New message text.
* a-except.adb (Rmsg_18): New message text.
* atree.adb (List25): New function
(Set_List25): New procedure
* atree.ads (List25): New function
(Set_List25): New procedure
* einfo.adb (Static_Predicate): Is now a list
(OK_To_Reference): Present in all entities
* einfo.ads (Static_Predicate): Is now a list
(OK_To_Reference): Applies to all entities
* exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13
* sem_attr.adb (Bad_Attribute_For_Predicate): Call
Bad_Predicated_Subtype_Use.
* sem_case.ads, sem_case.adb: Major surgery to deal with predicated
subtype case.
* sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to
Sem_Ch13.
(Build_Static_Predicate): New procedure handles static predicates.
* sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype
with no constraint if ancestor subtype has predicates.
(Analyze_Variant_Part): New calling sequence for Analyze_Choices
* sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference
entity.
(Analyze_Case_Expression): New calling sequence for Analyze_Choices
* sem_ch5.adb (Analyze_Case_Statement): New calling sequence for
Analyze_Choices.
* sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure
* types.ads (PE_Bad_Predicated_Generic_Type): Replaces
PE_Bad_Attribute_For_Predicate.
* atree.h: Add definition of List25.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165828
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 13:51:35 +0000 (13:51 +0000)]
2010-10-22 Jerome Lambourg <lambourg@adacore.com>
* gnatlink.adb (Process_Binder_File): Remove CLI-specific code, now
moved to dotnet-ld.
(Gnatlink): Remove CLI-specific code, moved to dotnet-ld
* bindgen.adb (Gen_Object_Files_Options): Do not issue -L switches with
the .NET compiler, useless and unsupported.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_util.ads (Get_Num_Lit_From_Pos): Fix errors in documentation,
this returns a Node_Id for a reference to the entity, not the entity
itself!
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iteration_Scheme): use Insert_Actions when
bounds require a temporary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165827
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 13:45:45 +0000 (13:45 +0000)]
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting.
* sinfo.ads: Minor comment fixes for Ada 2012 syntax.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165826
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Fri, 22 Oct 2010 12:48:15 +0000 (12:48 +0000)]
PR tree-optimization/46126
* tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
vectorizable_shift in case of basic block vectorization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165825
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 22 Oct 2010 12:14:45 +0000 (12:14 +0000)]
* target.h (enum opt_levels, struct default_options): New.
* target.def (handle_ofast): Remove hook.
(target_option.optimization): Change to
target_option.optimization_table.
* doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
(CAN_DEBUG_WITHOUT_FP): Remove.
* doc/tm.texi: Regenerate.
* opts.c (maybe_default_option, maybe_default_options,
default_options_table): New.
(default_options_optimization): Take extra parameters. Don't
assert that global_options and global_options_set are in use. Use
maybe_default_options.
(decode_options): Pass extra parameters to
default_options_optimization.
* common.opt (falign-loops): Use value 0 with Var.
(frerun-cse-after-loop, ftree-ter): Remove Init.
* system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
TARGET_OPTION_OPTIMIZATION): Remove.
* targhooks.c (empty_optimization_table): New.
* targhooks.h (empty_optimization_table): Declare.
* toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
* config/alpha/alpha.c (alpha_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/arm/arm.c (arm_option_optimization: Change to
arm_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/avr/avr.c (avr_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/cris/cris.c (cris_option_optimization): Change to
cris_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/crx/crx.c (crx_option_optimization): Change to
crx_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/fr30/fr30.c (fr30_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/frv/frv.c (frv_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/h8300/h8300.c (h8300_option_optimization): Change to
h8300_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/i386/i386.c (ix86_option_optimization): Change to
ix86_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
as initializer.
* config/ia64/ia64.c (ia64_option_optimization): Change to
ia64_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
initializer.
* config/iq2000/iq2000.c (iq2000_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/lm32/lm32.c (lm32_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/m32r/m32r.c (m32r_option_optimization): Change to
m32r_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
CAN_DEBUG_WITHOUT_FP): Remove.
* config/mcore/mcore.c (mcore_option_optimization): Change to
mcore_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/mep/mep.c (mep_option_optimization): Change to
mep_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/microblaze/microblaze.c
(microblaze_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/mips/mips.c (mips_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/mmix/mmix.c (mmix_option_optimization): Change to
mmix_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/mn10300/mn10300.c (mn10300_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/pa/pa.c (pa_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/pdp11/pdp11.c (pdp11_option_optimization): Change to
pdp11_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/picochip/picochip.c (picochip_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/rs6000/rs6000.c (rs6000_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/rx/rx.c (rx_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/s390/s390.c (s390_option_optimization): Change to
s390_option_optimization_table.
(s390_option_override): Update comment.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/score/score.c (score_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/sh/sh.c (sh_option_optimization): Change to
sh_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
(sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
(sh_option_override, expand_block_move, multcosts, find_barrier,
barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
* config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
(LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
instead of TARGET_SMALLCODE.
* config/sh/sh.opt (mspace): Make into an alias for -Os.
* config/sparc/sparc.c (sparc_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/stormy16/stormy16.c (xstorym16_option_optimization_table,
TARGET_OPTION_OPTIMIZATION_TABLE): New.
* config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/v850/v850.c (v850_option_optimization): Change to
v850_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
* config/xtensa/xtensa.c (xtensa_option_optimization): Change to
xtensa_option_optimization_table.
(TARGET_OPTION_OPTIMIZATION): Change to
TARGET_OPTION_OPTIMIZATION_TABLE.
* config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165823
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 10:41:17 +0000 (10:41 +0000)]
2010-10-22 Robert Dewar <dewar@adacore.com>
* par-ch5.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2010-10-22 Robert Dewar <dewar@adacore.com>
* a-except.adb, a-except-2005.adb: Add new Rcheck entry.
* exp_ch13.adb (Add_Call): Make sure subtype is marked with
Has_Predicates set to True if it inherits predicates.
* sem_attr.adb: Handle 'First/'Last/'Range for predicated types
* types.ads (PE_Bad_Attribute_For_Predicate): New reason code
* types.h: Add new Rcheck entry.
* einfo.ads, einfo.adb (Static_Predicate): New field.
Minor code reorganization (file float routines in proper section)
Fix bad field name in comments.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion
case.
2010-10-22 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Config_Switches): Detect if there is at least one
declaration of IDE'Compiler_Command for one of the language in the main
project.
(Do_Autoconf): If there were at least one Compiler_Command declared and
no target, invoke gprconfig with --target=all instead of the normalized
host name.
2010-10-22 Robert Dewar <dewar@adacore.com>
* par-ch4.adb: Update syntax in comments for Ada 2012.
* sinfo.ads: Update syntax in comments for Ada 2012
* par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode"
from msg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165822
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 22 Oct 2010 10:30:29 +0000 (10:30 +0000)]
CFStrings for Darwin
gcc/testsuite:
Based on the CFString implementation in FSF apple/trunk branch.
* lib/objc-dg.exp (objc-dg-runtest): Merge flags and additional flags
so that the latter can be used in dg-skip and dg-xfail clauses.
* lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise.
* obj-c++.dg/template-4.mm: Don't use CFStrings on Darwin. Update test
to use dg-additional-files for Object1.
* obj-c++.dg/const-str-7.mm: Don't use CFStrings on Darwin. Update test
to use dg-additional-files for Object1, move to torture/strings/.
* obj-c++.dg/const-str-4.mm: Likewise.
* obj-c++.dg/const-str-3.mm: Likewise.
* obj-c++.dg/const-str-8.mm: Likewise.
* obj-c++.dg/const-str-9.mm: Likewise.
* obj-c++.dg/const-str-10.mm: Likewise.
* obj-c++.dg/const-str-10.mm: Likewise.
* obj-c++.dg/const-str-1.mm: Don't use CFStrings on Darwin. Update test
to use dg-additional-files for Object1, move to strings/.
* obj-c++.dg/const-str-2.mm: Likewise.
* obj-c++.dg/const-str-5.mm: Likewise.
* obj-c++.dg/const-str-6.mm: Likewise.
* obj-c++.dg/const-str-12.mm: Likewise.
* obj-c++.dg/strings/strings.exp: New.
* obj-c++.dg/strings/const-cfstring-2.mm: New.
* obj-c++.dg/strings/const-cfstring-5.mm: New.
* obj-c++.dg/torture/strings/strings.exp: New.
* obj-c++.dg/torture/strings/string1.mm: New.
* obj-c++.dg/torture/strings/const-cfstring-1.mm: New.
* obj-c++.dg/torture/strings/const-cfstring-3.mm: New.
* obj-c++.dg/torture/strings/const-cfstring-4.mm: New.
* objc/execute/string1.m: Don't use CFStrings on Darwin. Update test
to use dg-additional-files for Object1, move to objc.dg/torture/strings/.
* objc/execute/string2.m: Likewise.
* objc/execute/string3.m: Likewise.
* objc/execute/string3.m: Likewise.
* objc.dg/foreach-2.m: Don't use CFStrings on Darwin.
* objc.dg/foreach-4.m: Likewise.
* objc.dg/foreach-5.m: Likewise.
* objc.dg/const-str-3.m: Don't use CFStrings on Darwin. Update test
to use dg-additional-files for Object1, move to objc.dg/torture/strings/.
* objc.dg/const-str-4.m: Likewise.
* objc.dg/const-str-7.m: Likewise.
* objc.dg/const-str-8.m: Likewise.
* objc.dg/const-str-9.m: Likewise.
* objc.dg/const-str-10.m: Likewise.
* objc.dg/const-str-11.m: Likewise.
* objc.dg/const-str-1.m: Don't use CFStrings on Darwin. Update test
to use dg-additional-files for Object1, move to objc.dg/strings/.
* objc.dg/const-str-2.m: Likewise.
* objc.dg/const-str-5.m: Likewise.
* objc.dg/const-str-6.m: Likewise.
* objc.dg/const-str-12.m: Likewise.
* objc.dg/const-str-12b.m: Likewise.
* objc.dg/strings/strings.exp: New.
* objc.dg/strings/const-cfstring-2.m: New.
* objc.dg/strings/const-cfstring-5.m: New.
* objc.dg/torture/strings/strings.exp: New.
* objc.dg/torture/strings/const-cfstring-1.m: New.
* objc.dg/torture/strings/const-cfstring-3.m: New.
* objc.dg/torture/strings/const-cfstring-4.m: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165821
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 22 Oct 2010 10:28:57 +0000 (10:28 +0000)]
CFStrings for Darwin.
gcc:
Based on the CFString implementation in FSF apple/trunk branch.
* target.def (objc_construct_string): New Hook.
* doc/tm.texi (objc_construct_string): Document.
* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
* config/t-darwin: Amend build rules for darwin.o.
* config/darwin.opt: Add cfstrings flags.
* config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
(darwin_objc_construct_string): New.
* config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
* config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
* config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
(darwin_fold_builtin): Likewise.
(darwin_build_constant_cfstring): Likewise.
(darwin_objc_construct_string): Likewise.
(darwin_cfstring_p): Likewise.
(darwin_enter_string_into_cfstring_table): Likewise.
* config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
* config/darwin.c (darwin_running_cxx): New var.
(machopic_select_section): Return cfstring_constant_object_section.
(darwin_override_options): Set darwin_running_cxx.
(add_builtin_field_decl): New.
(darwin_init_cfstring_builtins): New.
(darwin_build_constant_cfstring): New.
(darwin_fold_builtin): New.
(cfstring_hash): New.
(cfstring_eq): New.
(darwin_enter_string_into_cfstring_table): New.
* config/darwin-sections.def (cfstring_constant_object_section): New.
* config/darwin.h (TARGET_FOLD_BUILTIN): Define.
(TARGET_OBJC_CONSTRUCT_STRING): Define.
gcc/objc:
Based on the CFString implementation in FSF apple/trunk branch.
* objc/objc-act.c (objc_build_string_object): Handle CFStrings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165820
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 22 Oct 2010 10:28:52 +0000 (10:28 +0000)]
2010-10-22 Gary Dismukes <dismukes@adacore.com>
* sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow
limited tagged types to have defaulted discriminants. Customize the
error message for the Ada 2012 case.
(Process_Discriminants): In Ada 2012, allow limited tagged types to have
defaulted discriminants. Customize the error message for the Ada 2012
case.
* sem_ch6.adb (Create_Extra_Formals): Suppress creation of the extra
formal for out formals of discriminated types in the case where the
underlying type is a limited tagged type.
* exp_attr.adb (Expand_N_Attribute_Reference, case
Attribute_Constrained): Return True for 'Constrained when the
underlying type of the prefix is a limited tagged type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165819
138bc75d-0d04-0410-961f-
82ee72b054a4