Eric Botcazou [Mon, 25 Oct 2010 17:26:04 +0000 (17:26 +0000)]
decl.c (gnat_to_gnu_entity): Do not set TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
* 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.
From-SVN: r165925
Steven G. Kargl [Mon, 25 Oct 2010 16:07:34 +0000 (16:07 +0000)]
re PR fortran/46140 (Include not found - but exit status code is zero)
2010-10-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/46140
* fortran/scanner.c (include_line): Check return value of load_file.
From-SVN: r165922
Jose Ruiz [Mon, 25 Oct 2010 15:28:13 +0000 (15:28 +0000)]
Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux): Reorganize target pairs so that it works on linux and ElinOS.
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.
From-SVN: r165921
Arnaud Charlet [Mon, 25 Oct 2010 15:26:02 +0000 (17:26 +0200)]
[multiple changes]
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.
From-SVN: r165920
Arnaud Charlet [Mon, 25 Oct 2010 14:44:20 +0000 (16:44 +0200)]
[multiple changes]
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.
From-SVN: r165919
Arnaud Charlet [Mon, 25 Oct 2010 14:39:59 +0000 (16:39 +0200)]
[multiple changes]
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.
From-SVN: r165918
Arnaud Charlet [Mon, 25 Oct 2010 13:50:29 +0000 (15:50 +0200)]
[multiple changes]
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
From-SVN: r165917
Jie Zhang [Mon, 25 Oct 2010 12:02:03 +0000 (12:02 +0000)]
Fix a typo in my last ChangeLog entry.
From-SVN: r165916
Paolo Carlini [Mon, 25 Oct 2010 10:47:19 +0000 (10:47 +0000)]
forward_list.h (_Fwd_list_node_base::swap): Remove.
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.
From-SVN: r165915
Eric Botcazou [Mon, 25 Oct 2010 10:35:07 +0000 (10:35 +0000)]
decl.c (gnat_to_gnu_entity, [...]): Allow In Out/Out parameters for functions.
* 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.
From-SVN: r165914
Eric Botcazou [Mon, 25 Oct 2010 10:08:01 +0000 (10:08 +0000)]
configure.ac: Use $cpu_type instead of $target to define the nop.
* configure.ac: Use $cpu_type instead of $target to define the nop.
* configure: Regenerate.
From-SVN: r165913
Paolo Carlini [Mon, 25 Oct 2010 09:42:08 +0000 (09:42 +0000)]
hashtable.h (_Hashtable<>:_M_get_Value_allocator): Remove, unused.
2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>:_M_get_Value_allocator):
Remove, unused.
From-SVN: r165912
Jie Zhang [Mon, 25 Oct 2010 09:37:19 +0000 (09:37 +0000)]
combine.c (try_combine): If insns need to be kept around...
* 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.
From-SVN: r165911
GCC Administrator [Mon, 25 Oct 2010 00:17:56 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r165910
Eric Botcazou [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.
* 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.
From-SVN: r165905
Eric Botcazou [Sun, 24 Oct 2010 19:25:11 +0000 (19:25 +0000)]
* config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
From-SVN: r165904
Nicola Pero [Sun, 24 Oct 2010 17:23:19 +0000 (17:23 +0000)]
Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
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.
From-SVN: r165903
Paul Koning [Sun, 24 Oct 2010 17:04:17 +0000 (13:04 -0400)]
pdp11.md: Change length attribute to be in bytes.
* config/pdp11/pdp11.md: Change length attribute to be in bytes.
* config/pdp11/pdp11.c (output_jump): Ditto.
From-SVN: r165902
Nicola Pero [Sun, 24 Oct 2010 16:48:57 +0000 (16:48 +0000)]
re PR objc/45735 (ICE in objc_add_method, at objc/objc-act.c:6941)
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.
From-SVN: r165901
Ian Lance Taylor [Sun, 24 Oct 2010 14:44:54 +0000 (14:44 +0000)]
i386.c (ix86_va_start): Remove extraneous blank line.
* config/i386/i386.c (ix86_va_start): Remove extraneous blank
line.
From-SVN: r165900
François Dumont [Sun, 24 Oct 2010 10:39:11 +0000 (12:39 +0200)]
debug.cc: Fix parameter indexes in __msg_valid_range2 message.
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'.
From-SVN: r165899
Nicola Pero [Sun, 24 Oct 2010 10:39:05 +0000 (10:39 +0000)]
In gcc/testsuite/: 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
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.
From-SVN: r165898
Eric Botcazou [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...
* 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.
From-SVN: r165897
Nicola Pero [Sun, 24 Oct 2010 02:44:03 +0000 (02:44 +0000)]
In gcc/cp/: 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
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.
From-SVN: r165896
GCC Administrator [Sun, 24 Oct 2010 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r165895
Joseph Myers [Sat, 23 Oct 2010 22:26:08 +0000 (23:26 +0100)]
gcc.c (n_switches_alloc_debug_check): New.
* 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.
From-SVN: r165891
James E. Wilson [Sat, 23 Oct 2010 20:27:20 +0000 (20:27 +0000)]
* MAINTAINERS: Update my email address.
From-SVN: r165890
Iain Sandoe [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.
From-SVN: r165889
Nicola Pero [Sat, 23 Oct 2010 18:40:39 +0000 (18:40 +0000)]
In gcc/cp/: 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
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.
From-SVN: r165887
Richard Henderson [Sat, 23 Oct 2010 16:42:24 +0000 (09:42 -0700)]
re PR target/46144 (gfortran.dg/vect/fast-math-vect-8.f90)
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.
From-SVN: r165885
Ian Lance Taylor [Sat, 23 Oct 2010 16:18:32 +0000 (16:18 +0000)]
tree-vrp.c (extract_range_from_binary_expr): If flag_non_call_exceptions don't eliminate division by zero.
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.
From-SVN: r165884
Tobias Burnus [Sat, 23 Oct 2010 13:48:08 +0000 (15:48 +0200)]
re PR fortran/46122 (PROTECTED check too strict)
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.
From-SVN: r165883
Joseph Myers [Sat, 23 Oct 2010 11:07:09 +0000 (12:07 +0100)]
march-generic.c: Skip for -march in multilib options.
* 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.
From-SVN: r165882
Nathan Froyd [Sat, 23 Oct 2010 03:05:47 +0000 (03:05 +0000)]
cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__...
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__.
From-SVN: r165881
Jie Zhang [Sat, 23 Oct 2010 00:38:13 +0000 (00:38 +0000)]
re PR rtl-optimization/37360 (ICE in haifa-sched.c when compiling __popcountsi2 from libgcc)
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.
From-SVN: r165880
GCC Administrator [Sat, 23 Oct 2010 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r165879
Eric Botcazou [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.
* gimplify.c (gimplify_variable_sized_compare): Preserve the source
location info of the expression.
From-SVN: r165875
DJ Delorie [Fri, 22 Oct 2010 22:26:59 +0000 (18:26 -0400)]
extend.texi (Named Address Spaces): Document the M32C named address space.
* doc/extend.texi (Named Address Spaces): Document the M32C named
address space.
From-SVN: r165873
DJ Delorie [Fri, 22 Oct 2010 21:41:42 +0000 (17:41 -0400)]
m32c-pragma.c (m32c_register_pragmas): Register the __far address space.
* 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.
From-SVN: r165865
Michael Meissner [Fri, 22 Oct 2010 21:23:00 +0000 (21:23 +0000)]
Fix regexp in powerpc test
From-SVN: r165863
Michael Meissner [Fri, 22 Oct 2010 21:16:20 +0000 (21:16 +0000)]
Fix regexp in powerpc test
From-SVN: r165862
Artjoms Sinkarovs [Fri, 22 Oct 2010 20:03:33 +0000 (20:03 +0000)]
c-typeck.c (build_array_ref): Handle subscripting of vectors.
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.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r165861
Paul Koning [Fri, 22 Oct 2010 20:02:00 +0000 (16:02 -0400)]
* config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
From-SVN: r165860
DJ Delorie [Fri, 22 Oct 2010 19:56:51 +0000 (15:56 -0400)]
* config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
From-SVN: r165859
Paul Koning [Fri, 22 Oct 2010 19:53:48 +0000 (15:53 -0400)]
* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
From-SVN: r165858
Richard Henderson [Fri, 22 Oct 2010 19:43:21 +0000 (12:43 -0700)]
Add __builtin_fma vector transform for i386.
From-SVN: r165857
Richard Henderson [Fri, 22 Oct 2010 19:43:01 +0000 (12:43 -0700)]
Use ABS/NEG+USE for vector modes as well.
From-SVN: r165856
Joseph Myers [Fri, 22 Oct 2010 19:34:43 +0000 (20:34 +0100)]
gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION, [...]): Remove.
* 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.
From-SVN: r165855
Changpeng Fang [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.
From-SVN: r165853
Richard Guenther [Fri, 22 Oct 2010 19:03:39 +0000 (19:03 +0000)]
re PR tree-optimization/46137 (g++.dg/torture/pr45877.C FAILs with -fno-tree-dce)
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.
From-SVN: r165852
Changpeng Fang [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.
From-SVN: r165851
Jason Merrill [Fri, 22 Oct 2010 18:37:53 +0000 (14:37 -0400)]
re PR c++/46129 (ICE: in tsubst_copy, at cp/pt.c:11375)
PR c++/46129
* pt.c (instantiate_class_template): Don't instantiate default
arguments.
From-SVN: r165850
Jason Merrill [Fri, 22 Oct 2010 18:37:41 +0000 (14:37 -0400)]
re PR c++/46103 ([c++0x] moving from std::array copies the elements)
PR c++/46103
* init.c (build_vec_init): Handle memberwise move.
From-SVN: r165849
Richard Guenther [Fri, 22 Oct 2010 17:50:19 +0000 (17:50 +0000)]
gimple.h (gimple_register_canonical_type): Declare.
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.
From-SVN: r165848
Uros Bizjak [Fri, 22 Oct 2010 16:12:57 +0000 (18:12 +0200)]
re PR target/46098 (ICE: in extract_insn, at recog.c:2100 with -msse3 -ffloat-store and __builtin_ia32_loadupd())
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.
From-SVN: r165845
Joseph Myers [Fri, 22 Oct 2010 15:30:08 +0000 (16:30 +0100)]
* gcc.pot: Regenerate.
From-SVN: r165838
Joseph Myers [Fri, 22 Oct 2010 15:24:31 +0000 (16:24 +0100)]
* EXCLUDES: Add read-md.c.
From-SVN: r165837
Joseph Myers [Fri, 22 Oct 2010 14:58:26 +0000 (15:58 +0100)]
* exgettext: Only handle Warn when followed by '('.
From-SVN: r165835
Arnaud Charlet [Fri, 22 Oct 2010 14:51:40 +0000 (16:51 +0200)]
[multiple changes]
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.
From-SVN: r165834
Joseph Myers [Fri, 22 Oct 2010 14:50:24 +0000 (15:50 +0100)]
* cpplib.pot: Regenerate.
From-SVN: r165833
Richard Guenther [Fri, 22 Oct 2010 14:44:48 +0000 (14:44 +0000)]
re PR middle-end/45720 (Revision 164367 miscompiled SPEC CPU 2K)
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.
From-SVN: r165832
Arnaud Charlet [Fri, 22 Oct 2010 14:44:16 +0000 (16:44 +0200)]
[multiple changes]
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.
From-SVN: r165831
Arnaud Charlet [Fri, 22 Oct 2010 14:39:44 +0000 (16:39 +0200)]
[multiple changes]
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.
From-SVN: r165830
Robert Dewar [Fri, 22 Oct 2010 14:35:39 +0000 (14:35 +0000)]
sem_case.adb, [...] (Bad_Predicated_Subtype_Use): Change order of parameters.
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.
From-SVN: r165829
Robert Dewar [Fri, 22 Oct 2010 13:58:49 +0000 (13:58 +0000)]
a-except-2005.adb (Rmsg_18): New message text.
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.
From-SVN: r165828
Arnaud Charlet [Fri, 22 Oct 2010 13:51:35 +0000 (15:51 +0200)]
[multiple changes]
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.
From-SVN: r165827
Robert Dewar [Fri, 22 Oct 2010 13:45:45 +0000 (13:45 +0000)]
sem_ch4.adb: Minor reformatting.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting.
* sinfo.ads: Minor comment fixes for Ada 2012 syntax.
From-SVN: r165826
Ira Rosen [Fri, 22 Oct 2010 12:48:15 +0000 (12:48 +0000)]
re PR tree-optimization/46126 (Revision 165777 failed to build 254.gap in SPEC CPU 2K)
PR tree-optimization/46126
* tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
vectorizable_shift in case of basic block vectorization.
From-SVN: r165825
Joseph Myers [Fri, 22 Oct 2010 12:14:45 +0000 (13:14 +0100)]
target.h (enum opt_levels, [...]): New.
* 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.
From-SVN: r165823
Arnaud Charlet [Fri, 22 Oct 2010 10:41:17 +0000 (12:41 +0200)]
[multiple changes]
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.
From-SVN: r165822
Iain Sandoe [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.
From-SVN: r165821
Iain Sandoe [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.
From-SVN: r165820
Gary Dismukes [Fri, 22 Oct 2010 10:28:52 +0000 (10:28 +0000)]
sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow limited tagged types to have defaulted discriminants.
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.
From-SVN: r165819
Arnaud Charlet [Fri, 22 Oct 2010 10:26:01 +0000 (12:26 +0200)]
[multiple changes]
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.
From-SVN: r165818
Arnaud Charlet [Fri, 22 Oct 2010 10:19:58 +0000 (12:19 +0200)]
[multiple changes]
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.
From-SVN: r165817
Geert Bosch [Fri, 22 Oct 2010 10:15:36 +0000 (10:15 +0000)]
cstand.adb (Build_Float_Type): Set Float_Rep according to platform.
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.
From-SVN: r165816
Arnaud Charlet [Fri, 22 Oct 2010 10:09:51 +0000 (12:09 +0200)]
[multiple changes]
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.
From-SVN: r165815
Robert Dewar [Fri, 22 Oct 2010 10:04:20 +0000 (10:04 +0000)]
exp_ch5.adb, [...]: Minor reformatting.
2010-10-22 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
reformatting.
From-SVN: r165814
Arnaud Charlet [Fri, 22 Oct 2010 10:02:10 +0000 (12:02 +0200)]
[multiple changes]
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.
From-SVN: r165813
Arnaud Charlet [Fri, 22 Oct 2010 10:00:18 +0000 (12:00 +0200)]
[multiple changes]
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
From-SVN: r165812
Arnaud Charlet [Fri, 22 Oct 2010 09:36:41 +0000 (11:36 +0200)]
[multiple changes]
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.
From-SVN: r165811
Thomas Quinot [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.
From-SVN: r165810
Geert Bosch [Fri, 22 Oct 2010 09:28:24 +0000 (09:28 +0000)]
Make-lang.in: Remove ttypef.ads
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.
From-SVN: r165808
Robert Dewar [Fri, 22 Oct 2010 09:19:51 +0000 (09:19 +0000)]
checks.adb (Apply_Predicate_Check): Remove attempt at optimization when subtype is the same...
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.
From-SVN: r165807
Arnaud Charlet [Fri, 22 Oct 2010 09:16:39 +0000 (09:16 +0000)]
* gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
From-SVN: r165806
Arnaud Charlet [Fri, 22 Oct 2010 09:14:01 +0000 (11:14 +0200)]
[multiple changes]
2010-10-22 Thomas Quinot <quinot@adacore.com>
* einfo.ads (Declaration_Node): Clarify documentation, in particular
regarding what is returned for subprogram entities.
2010-10-22 Arnaud Charlet <charlet@adacore.com>
* exp_attr.adb (Make_Range_Test): Generate a Range node instead of
explicit comparisons, generates simpler expanded code.
* a-except-2005.adb (Rcheck_06_Ext): New.
* gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks
like range checks.
* gcc-interface/Make-lang.in: Update dependencies.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate
for index type
(Constrain_Index): Error of subtype wi predicate in index constraint
* sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi
predicate in entry family.
* sem_res.adb (Resolve_Slice): Error of type wi predicate in slice.
2010-10-22 Javier Miranda <miranda@adacore.com>
* sem_util.ads, sem_util.adb (Collect_Parents): New subprogram.
(Original_Corresponding_Operation): New subprogram.
(Visible_Ancestors): New subprogram.
* sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching
operation that overrides a hidden inherited primitive.
* sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram.
(Check_Dispatching_Operation): if the new dispatching operation
does not override a visible primtive then check if it overrides
some hidden inherited primitive.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with
clause is a child unit that denotes a renaming, replace the
parent_unit_name with a reference to the renamed unit, because the
prefix is irrelevant to subsequent visibility..
From-SVN: r165805
Arnaud Charlet [Fri, 22 Oct 2010 08:51:09 +0000 (10:51 +0200)]
[multiple changes]
2010-10-22 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
(simplifies code).
* exp_ch13.adb (Build_Predicate_Function): Output info msgs for
inheritance.
* sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
freeze node for entities for which a predicate is specified.
(Analyze_Aspect_Specifications): Avoid duplicate calls
* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
duplicate calls to Analye_Aspect_Specifications.
2010-10-22 Thomas Quinot <quinot@adacore.com>
* a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.
From-SVN: r165804
Nicola Pero [Fri, 22 Oct 2010 08:41:27 +0000 (08:41 +0000)]
objc-act.c (get_objc_string_decl): Use a switch instead of a chain of ifs.
2010-10-21 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (get_objc_string_decl): Use a switch instead of a
chain of ifs. Use gcc_unreachable instead of abort.
(add_objc_string): Same change.
(generate_protocol_list): Same change - twice.
(synth_id_with_class_suffix): Same change.
(build_keyword_selector): Same change - twice.
(objc_build_message_expr): Same change.
(objc_build_selector_expr): Same change.
(check_methods): Same change - and added missing gcc_unreachable
for default case.
(check_methods_accessible): Same change - twice, and added missing
gcc_unreachable for default case in one of them.
(start_class): Same change - and added missing gcc_unreachable for
default case.
(continue_class): Same change.
(objc_gen_property_data): Same change.
(finish_class): Same change.
(encode_type_qualifiers): Added missing gcc_unreachable.
(encode_type): Small code tidy up to reduce duplicated code. Use
gcc_unreachable instead of abort - twice.
(encode_gnu_bitfield): Use a switch instead of a chain of ifs -
twice. Added missing gcc_unreachable for default case - twice.
(dump_interface): Use a switch instead of a chain of ifs.
(handle_impent): Same change.
From-SVN: r165803
Marcus Shawcroft [Fri, 22 Oct 2010 07:36:08 +0000 (07:36 +0000)]
synchronize.c: Permit dmb or mcr in assembler scan.
2010-10-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
* gcc.target/arm/synchronize.c: Permit dmb or mcr in assembler scan.
From-SVN: r165802
Nathan Froyd [Fri, 22 Oct 2010 01:33:39 +0000 (01:33 +0000)]
alpha.c (alpha_build_builtin_va_list): Use TYPE_STUB_DECL instead of TREE_CHAIN.
* config/alpha/alpha.c (alpha_build_builtin_va_list): Use
TYPE_STUB_DECL instead of TREE_CHAIN.
* config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
* config/s390/s390.c (s390_build_builtin_va_list): Likewise.
* config/sh/sh.c (sh_build_builtin_va_list): Likewise.
* config/spu/spu.c (spu_build_builtin_va_list): Likewise.
* config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
Likewise.
* config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
From-SVN: r165800
Jie Zhang [Fri, 22 Oct 2010 00:40:15 +0000 (00:40 +0000)]
expr.c (emit_group_load_1): Update calls to extract_bit_field.
* expr.c (emit_group_load_1): Update calls to extract_bit_field.
(copy_blkmode_from_reg): Likewise.
(read_complex_part): Likewise.
(expand_expr_real_1): Calculate packedp and pass it to
extract_bit_field.
* expr.h (extract_bit_field): Update declaration.
* calls.c (store_unaligned_arguments_into_pseudos): Update call
to extract_bit_field.
* expmed.c (extract_fixed_bit_field): Update calls to
extract_fixed_bit_field.
(store_split_bit_field): Likewise.
(extract_bit_field_1): Add new argument packedp.
(extract_bit_field): Add new argument packedp.
(extract_fixed_bit_field): Add new argument packedp and let
packed attribute override volatile.
* stmt.c (expand_return): Update call to extract_bit_field.
From-SVN: r165799
GCC Administrator [Fri, 22 Oct 2010 00:18:25 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r165798
Paolo Carlini [Thu, 21 Oct 2010 21:51:50 +0000 (21:51 +0000)]
re PR c++/46117 (ICE: SIGSEGV in add_function_candidate (call.c:1630) on invalid typename usage)
/cp
2010-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/46117
* call.c (add_function_candidate): Don't use TREE_VALUE on null
parmnode.
/testsuite
2010-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/46117
* g++.dg/parse/crash57.C: New.
From-SVN: r165794
Uros Bizjak [Thu, 21 Oct 2010 21:48:39 +0000 (23:48 +0200)]
* Add ChangeLog changes.
From-SVN: r165793
Nathan Froyd [Thu, 21 Oct 2010 21:44:03 +0000 (21:44 +0000)]
* config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
From-SVN: r165792
Nathan Froyd [Thu, 21 Oct 2010 21:39:13 +0000 (21:39 +0000)]
ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead of gcc_checking_assert.
* ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
of gcc_checking_assert.
* sel-sched.c (code_motion_process_successors): Likewise.
From-SVN: r165790
Eric Botcazou [Thu, 21 Oct 2010 21:38:03 +0000 (21:38 +0000)]
cfgcleanup.c (try_forward_edges): Do not throw away previous steps when stopping because of a different locus on...
* cfgcleanup.c (try_forward_edges): Do not throw away previous steps
when stopping because of a different locus on edge or insn.
(try_optimize_cfg): Add comment.
* cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination
block is a forwarder block, propagate locus on the edge.
(cfg_layout_merge_blocks): Likewise.
From-SVN: r165789
Uros Bizjak [Thu, 21 Oct 2010 20:42:09 +0000 (22:42 +0200)]
re PR target/45946 (ICE: in extract_insn, at recog.c:2127 when using _Decimal128 with -Os -fno-omit-frame-pointer)
PR target/45946
* config/i386/i386.md (*pushti2): New insn pattern.
(pushti2 splitter): New insn splitter.
(*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
DWI mode iterator.
testsuite/ChangeLog:
PR target/45946
* gcc.target/i386/pr45946.c: New test.
From-SVN: r165787
Paul Koning [Thu, 21 Oct 2010 19:39:30 +0000 (15:39 -0400)]
pdp11-protos.md (arith_operand, [...]): Delete
* config/pdp11/pdp11-protos.md (arith_operand,
const_immediate_operand, expand_shift_operand,
immediate15_operand): Delete
* config/pdp11/pdp11.c: Ditto.
* config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
EXTRA_CONSTRAINT): Delete.
* config/pdp11/pdp11.md (various): Use standard constraints
instead of removed ones.
* config/pdp11/constraints.md: New file.
* config/pdp11/predicates.md: New file.
From-SVN: r165784
Bingfeng Mei [Thu, 21 Oct 2010 15:16:01 +0000 (15:16 +0000)]
re PR rtl-optimization/45834 (Redundant inter-loop edges in DDG)
2010-10-21 Bingfeng Mei <bmei@broadcom.com>
PR c/45834
* alias.c (true_dependence_1): Remove obsolete check for QImode.
(may_alias_p): Ditto.
From-SVN: r165781