OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago2010-10-26 Ed Schonberg <schonberg@adacore.com>
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

13 years ago2010-10-26 Vincent Celier <celier@adacore.com>
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

13 years agoUpdate copyright notice.
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

13 years ago2010-10-26 Ed Schonberg <schonberg@adacore.com>
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

13 years ago * gnatvsn.ads: Update comments.
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

13 years ago2010-10-26 Matthew Heaney <heaney@adacore.com>
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

13 years ago2010-10-26 Matthew Heaney <heaney@adacore.com>
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

13 years ago2010-10-26 Paolo Carlini <paolo.carlini@oracle.com>
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

13 years ago2010-10-26 Tobias Burnus <burnus@net-b.de>
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

13 years ago Implement opaque-enum-specifiers for C++0x.
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

13 years ago * stor-layout.c (layout_decl): Use the field's type to
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

13 years ago* config/pdp11/pdp11.md: Add define_constants for register
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

13 years agoDaily bump.
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

13 years ago * gcc-interface/utils2.c: Include flags.h and remove prototypes.
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

13 years agoCorrect the Changelog entries.
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

13 years ago * gcc-interface/utils.c (update_pointer_to): Clear TYPE_POINTER_TO and
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

13 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not set
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

13 years ago2010-10-25 Steven G. Kargl <kargl@gcc.gnu.org>
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

13 years ago2010-10-25 Jose Ruiz <ruiz@adacore.com>
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

13 years ago2010-10-25 Pascal Obry <obry@adacore.com>
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

13 years ago2010-10-25 Robert Dewar <dewar@adacore.com>
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

13 years ago2010-10-25 Robert Dewar <dewar@adacore.com>
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

13 years ago2010-10-25 Matthew Heaney <heaney@adacore.com>
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

13 years agoFix a typo in my last ChangeLog entry.
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

13 years ago2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
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

13 years ago * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Function): Allow
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

13 years ago * configure.ac: Use $cpu_type instead of $target to define the nop.
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

13 years ago2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
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

13 years ago * combine.c (try_combine): If insns need to be kept around,
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

13 years agoDaily bump.
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

13 years ago * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
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

13 years ago * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
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

13 years ago2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
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

13 years ago* config/pdp11/pdp11.md: Change length attribute to be in bytes.
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

13 years ago2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
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

13 years ago * config/i386/i386.c (ix86_va_start): Remove extraneous blank
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

13 years ago2010-10-24 François Dumont <francois.cppdevs@free.fr>
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

13 years agoIn gcc/testsuite/:
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

13 years ago * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
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

13 years agoIn gcc/cp/:
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

13 years agoDaily bump.
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

13 years ago * gcc.c (n_switches_alloc_debug_check): New.
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

13 years ago* MAINTAINERS: Update my email address.
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

13 years agotests for Darwin CFStrings
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

13 years agoIn gcc/cp/:
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

13 years agoPR target/46144
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

13 years agogcc/:
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

13 years ago2010-10-23 Tobias Burnus <burnus@net-b.de>
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

13 years ago * gcc.dg/march-generic.c: Skip for -march in multilib options.
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

13 years agogcc/
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

13 years ago PR rtl-optimization/37360
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

13 years agoDaily bump.
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

13 years ago * gimplify.c (gimplify_variable_sized_compare): Preserve the source
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

13 years ago* doc/extend.texi (Named Address Spaces): Document the M32C named
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

13 years ago* config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
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

13 years agoFix regexp in powerpc test
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

13 years agoFix regexp in powerpc test
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

13 years ago2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
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

13 years ago* config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
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

13 years ago* config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
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

13 years ago* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
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

13 years agoAdd __builtin_fma vector transform for i386.
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

13 years agoUse ABS/NEG+USE for vector modes as well.
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

13 years ago * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
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

13 years agoImplementation of the pipeline description for Bulldozer (bdver1)
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

13 years ago2010-10-22 Richard Guenther <rguenther@suse.de>
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

13 years agoUpdate processsor_costs table for bdver1
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

13 years ago PR c++/46129
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

13 years ago PR c++/46103
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

13 years ago2010-10-22 Richard Guenther <rguenther@suse.de>
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

13 years ago PR target/46098
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

13 years ago * gcc.pot: Regenerate.
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

13 years ago * EXCLUDES: Add read-md.c.
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

13 years ago * exgettext: Only handle Warn when followed by '('.
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

13 years ago2010-10-22 Ben Brosgol <brosgol@adacore.com>
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

13 years ago * cpplib.pot: Regenerate.
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

13 years ago2010-10-22 Richard Guenther <rguenther@suse.de>
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

13 years ago2010-10-22 Thomas Quinot <quinot@adacore.com>
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

13 years ago2010-10-22 Javier Miranda <miranda@adacore.com>
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

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
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

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
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

13 years ago2010-10-22 Jerome Lambourg <lambourg@adacore.com>
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

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
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

13 years ago PR tree-optimization/46126
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

13 years ago * target.h (enum opt_levels, struct default_options): New.
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

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
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

13 years agoCFStrings for Darwin
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

13 years agoCFStrings for Darwin.
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

13 years ago2010-10-22 Gary Dismukes <dismukes@adacore.com>
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

13 years ago2010-10-22 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 22 Oct 2010 10:26:01 +0000 (10:26 +0000)]
2010-10-22  Thomas Quinot  <quinot@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): The full view of the subtype
may already have a rep item chain inherited from the full view of the
base type, so do not overwrite it when propagating rep items from the
partial view of the subtype.
* sem_ch3.adb: Minor code reorganization.  Minor reformatting.

2010-10-22  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi (gnatmetric): Remove description of debug option.

2010-10-22  Tristan Gingold  <gingold@adacore.com>

* adaint.c (__gnat_number_of_cpus): Add implementation for VMS.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

* par-ch5.adb: Set properly starting sloc of loop parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165818 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 22 Oct 2010 10:19:58 +0000 (10:19 +0000)]
2010-10-22  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (May_Be_Lvalue): An actual in a function call can be an
lvalue in Ada2012, if the function has in-out parameters.

2010-10-22  Robert Dewar  <dewar@adacore.com>

* cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb,
sem_ch10.adb: Minor reformatting.

2010-10-22  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi: Remove most of the content of gnatcheck chapter.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb: Handle indexed P'old.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165817 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Geert Bosch <bosch@adacore.com>
charlet [Fri, 22 Oct 2010 10:15:36 +0000 (10:15 +0000)]
2010-10-22  Geert Bosch  <bosch@adacore.com>

* cstand.adb (Build_Float_Type): Set Float_Rep according to platform.
* einfo.ads (Float_Rep): New attribute.
(Float_Rep_Kind): Move from body. Add comments.
* einfo.adb (Float_Rep_Kind): Move to spec
(Float_Rep): Now a real field instead of local function.
(Set_Float_Rep): New procedure to set floating point representation
(Set_Vax_Float): Remove.
(Write_Entity_Flags): Remove Vax_Float flag.
(Write_Field10_Name): Add E_Floating_Point_Type case for Float_Rep.
* exp_attr.adb (Attribute_Valid): Use case statement for representation
specific processing.
* sem_ch3.adb (Build_Derived_Numeric_Type,
Floating_Point_Type_Declaration): Set Float_Rep instead of Vax_Float
attribute.
* sem_util.ads, sem_util.adb (Is_AAMP_Float): Remove.
* sem_vfpt.adb (Set_D_Float, Set_F_Float, Set_G_Float, Set_IEEE_Long,
Set_IEEE_Short): Set Float_Rep instead of Vax_Float attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165816 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
charlet [Fri, 22 Oct 2010 10:09:51 +0000 (10:09 +0000)]
2010-10-22  Robert Dewar  <dewar@adacore.com>

* sprint.adb: Minor reformatting.

2010-10-22  Robert Dewar  <dewar@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Do required predicate
checks.
* sem_ch3.adb (Complete_Private_Subtype): Propagate predicates to full
view.
* sem_ch6.adb (Invariants_Or_Predicates_Present): New name for
Invariants_Present.
(Process_PPCs): Handle predicates generating post conditions
* sem_util.adb (Is_Partially_Initialized_Type): Add
Include_Null parameter.
* sem_util.ads (Is_Partially_Initialized_Type): Add
Include_Null parameter.

2010-10-22  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi (gnatelim): Add description for '--ignore' option

2010-10-22  Thomas Quinot  <quinot@adacore.com>

* sem_prag.adb (Check_First_Subtype): Specialize error messages for
case where argument is not a type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165815 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
charlet [Fri, 22 Oct 2010 10:04:20 +0000 (10:04 +0000)]
2010-10-22  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165814 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Arnaud Charlet <charlet@adacore.com>
charlet [Fri, 22 Oct 2010 10:02:10 +0000 (10:02 +0000)]
2010-10-22  Arnaud Charlet  <charlet@adacore.com>

* a-locale.adb: Minor code clean up.

2010-10-22  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb: Minor code reorganization and factoring.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165813 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 22 Oct 2010 10:00:18 +0000 (10:00 +0000)]
2010-10-22  Thomas Quinot  <quinot@adacore.com>

* exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb:
Minor reformatting.

2010-10-22  Geert Bosch  <bosch@adacore.com>

* stand.ads: Fix typo in comment.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Enable in-out parameter for functions.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Quantified_Expression): Handle properly loop
iterators that are transformed into container iterators after analysis.
* exp_ch4.adb (Expand_N_Quantified_Expression): Handle properly both
iterator forms before rewriting as a loop.

2010-10-22  Brett Porter  <porter@adacore.com>

* a-locale.adb, a-locale.ads, locales.c: New files.
* Makefile.rtl: Add a-locale
* gcc-interface/Makefile.in: Add locales.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165812 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
charlet [Fri, 22 Oct 2010 09:36:41 +0000 (09:36 +0000)]
2010-10-22  Robert Dewar  <dewar@adacore.com>

* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
(Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.

2010-10-22  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
iterator forms over arrays and containers, in loops and quantified
expressions.
* exp_util.adb (Insert_Actions): include N_Iterator_Specification.
* par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
* par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
P_Iteration_Scheme to handle both loop forms.
* sem.adb: Handle N_Iterator_Specification.
* sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
subprogram.
* sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
N_Iteration_Scheme can now include an Iterator_Specification. Ditto
for N_Quantified_Expression.
* snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
and Previous, to support iterators over predefined containers.
* sprint.adb: Handle N_Iterator_Specification.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165811 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 22 Oct 2010 09:32:30 +0000 (09:32 +0000)]
2010-10-22  Thomas Quinot  <quinot@adacore.com>

* sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads
(Is_Generic_Formal): Move from body of Sem_Ch12 to Sem_Util.
(Check_Arg_Is_Local_Name): Fix check in the case of a pragma appearing
immediately after a library unit.
(Analyze_Pragma, case Preelaborable_Initialization): Pragma may apply to
a formal derived type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165810 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Geert Bosch <bosch@adacore.com>
charlet [Fri, 22 Oct 2010 09:28:24 +0000 (09:28 +0000)]
2010-10-22  Geert Bosch  <bosch@adacore.com>

* gcc-interface/Make-lang.in: Remove ttypef.ads
* checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
of Machine_Mantissa and Machine_Radix.
* cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
Type_High_Bound of the type, instead of choosing constants from Ttypef.
(Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
each type.
* einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
synthesized floating point attributes.
* einfo.adb (Float_Rep): Determine the kind of floating point
representation used for a given type.
(Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
the number of digits in the type.
(Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
Implement new synthesized floating point attributes based on the various
machine attributes.
* eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
* eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
Machine_Mantissa_Value and Machine_Radix_Value functions instead.
* exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
constants, instead of using constants from Ttypef.
* gnat_rm.texi: Reword comments referencing Ttypef.
* sem_attr.ads: Reword comment referencing Ttypef.
* sem_attr.adb (Float_Attribute_Universal_Integer,
Float_Attribute_Universal_Real): Remove.
(Attribute_Machine_Emax, Attribute_Machine_Emin,
Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
attributes in Einfo instead of Float_Attribute_Universal_Real and
Float_Attribute_Universal_Integer and all explicit constants.
* sem_util.ads, sem_util.adb (Real_Convert): Remove.
* sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
IEEES_Digits): New local constants, in order to remove dependency on
Ttypef.
* tbuild.ads (Make_Float_Literal): New function.
* tbuild.adb (Make_Float_Literal): New function to create a new
N_Real_Literal, constructing it as simple as possible for best
output of constants in -gnatS.
* ttypef.ads: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165808 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-22 Robert Dewar <dewar@adacore.com>
charlet [Fri, 22 Oct 2010 09:19:51 +0000 (09:19 +0000)]
2010-10-22  Robert Dewar  <dewar@adacore.com>

* checks.adb (Apply_Predicate_Check): Remove attempt at optimization
when subtype is the same, caused legitimate checks to be missed.
* exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
inheritance from right entity.
* freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
derived type case if the ancestor type has predicates.
* sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
* sem_prag.adb (Check_Enabled): Minor code reorganization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165807 138bc75d-0d04-0410-961f-82ee72b054a4