platform/upstream/linaro-gcc.git
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

13 years ago * gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
charlet [Fri, 22 Oct 2010 09:16:39 +0000 (09:16 +0000)]
* gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.

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

13 years ago2010-10-22 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 22 Oct 2010 09:14:01 +0000 (09:14 +0000)]
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..

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

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

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

13 years ago2010-10-21 Nicola Pero <nicola.pero@meta-innovation.com>
nicola [Fri, 22 Oct 2010 08:41:27 +0000 (08:41 +0000)]
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.

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

13 years ago2010-10-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
mshawcroft [Fri, 22 Oct 2010 07:36:08 +0000 (07:36 +0000)]
2010-10-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* gcc.target/arm/synchronize.c: Permit dmb or mcr in assembler scan.

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

13 years ago * config/alpha/alpha.c (alpha_build_builtin_va_list): Use
froydnj [Fri, 22 Oct 2010 01:33:39 +0000 (01:33 +0000)]
* 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.

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

13 years ago * expr.c (emit_group_load_1): Update calls to extract_bit_field.
jiez [Fri, 22 Oct 2010 00:40:15 +0000 (00:40 +0000)]
* 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.

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

13 years agoDaily bump.
gccadmin [Fri, 22 Oct 2010 00:18:25 +0000 (00:18 +0000)]
Daily bump.

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

13 years ago/cp
paolo [Thu, 21 Oct 2010 21:51:50 +0000 (21:51 +0000)]
/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.

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

13 years ago * Add ChangeLog changes.
uros [Thu, 21 Oct 2010 21:48:39 +0000 (21:48 +0000)]
* Add ChangeLog changes.

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

13 years ago * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
froydnj [Thu, 21 Oct 2010 21:44:03 +0000 (21:44 +0000)]
* config/spu/spu.c (spu_function_arg): Dereference CUM parameter.

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

13 years ago * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
froydnj [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.
* sel-sched.c (code_motion_process_successors): Likewise.

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

13 years ago * cfgcleanup.c (try_forward_edges): Do not throw away previous steps
ebotcazou [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 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.

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

13 years ago PR target/45946
uros [Thu, 21 Oct 2010 20:42:09 +0000 (20:42 +0000)]
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.

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

13 years ago* config/pdp11/pdp11-protos.md (arith_operand,
pkoning [Thu, 21 Oct 2010 19:39:30 +0000 (19:39 +0000)]
* 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.

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

13 years ago2010-10-21 Bingfeng Mei <bmei@broadcom.com>
meibf [Thu, 21 Oct 2010 15:16:01 +0000 (15:16 +0000)]
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.

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

13 years ago2010-10-21 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 21 Oct 2010 14:34:58 +0000 (14:34 +0000)]
2010-10-21  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/45875
* tree.c (get_binfo_at_offset): Remove initial zero offset test.

* testsuite/g++.dg/ipa/pr45875.C: New test.

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

13 years ago * tree-into-ssa.c (rewrite_update_enter_block): Remove unused
froydnj [Thu, 21 Oct 2010 14:05:57 +0000 (14:05 +0000)]
* tree-into-ssa.c (rewrite_update_enter_block): Remove unused
variables.
(create_new_def_for): Likewise.

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

13 years ago * config/mn10300/mn10300.c: Fold code to 80-character width.
nickc [Thu, 21 Oct 2010 13:46:52 +0000 (13:46 +0000)]
    * config/mn10300/mn10300.c: Fold code to 80-character width.
        Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
        MEM, CONST_INT and CONST_DOUBLE.
        (targetm): Move initialization to end of file.
        (print_operand): Rename to mn10300_print_operand.
        (print_operand_address): Rename to mn10300_print_operand_address.
        (can_use_return_insn): Rename to mn10300_can_use_return_insn.
        (expand_prologue): Rename to mn10300_expand_prologue.
        (expand_epilogue): Rename to mn10300_expand_epilogue.
        (initial_offset): Rename to mn10300_initial_offset.
        (function_arg): Rename to mn10300_function_arg.
        (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
        (symbolic_operand): Rename to mn10300_symbolic_operand.
        (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
        (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
        * config/mn10300/mn10300-protos.h: Update prototypes.
        * config/mn10300/mn10300.h: Fold code to 80-character width.
        Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
        MEM, CONST_INT and CONST_DOUBLE.
        (CPP_SPEC): Move to...
        (TARGET_CPU_CPP_BUILTINS): ... here.
        * config/mn10300/mn10300.md: Fold code to 80-character width.
        Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
        MEM, CONST_INT and CONST_DOUBLE.

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

13 years ago PR tree-optimization/46049
irar [Thu, 21 Oct 2010 13:36:56 +0000 (13:36 +0000)]
PR tree-optimization/46049
PR tree-optimization/46052
* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for
shift.
(vect_get_slp_defs): Add arguments.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
operands to vect_get_slp_defs.
(vectorizable_reduction): Fix comment, pass scalar operands to
vect_get_slp_defs.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
type to determine number of units in the created vector.
(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
(vectorizable_conversion): Fix comment.
(vectorizable_shift): New function.
(vectorizable_operation): Move code that handles shifts to
vectorizable_shift.
(vectorizable_type_demotion): Fix comment, pass scalar operands to
vect_get_slp_defs.
(vectorizable_type_promotion, vectorizable_store): Likewise.
(vectorizable_condition): Fix comment.
(vect_analyze_stmt): Call vectorizable_shift.
(vect_transform_stmt): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
Use it as the operand to create vectors for, except reduction
initial definition and store.  Use operands type.
(vect_get_slp_defs): Add new arguments.  Pass them to
vect_get_constant_vectors.

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

13 years ago2010-10-21 Robert Dewar <dewar@adacore.com>
charlet [Thu, 21 Oct 2010 13:27:26 +0000 (13:27 +0000)]
2010-10-21  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting.

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

* einfo.ads (Next_Girder_Discriminant): Remove obsolete description for
removed routine.

2010-10-21  Nicolas Roche  <roche@adacore.com>

* gnatmem.adb, memroot.adb, memroot.ads, gmem.c,
gcc-interface/Makefile.in: Remove gnatmem specific files.

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

13 years ago2010-10-21 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 21 Oct 2010 13:17:43 +0000 (13:17 +0000)]
2010-10-21  Thomas Quinot  <quinot@adacore.com>

* sem_res.adb, exp_ch13.adb: Minor reformatting.

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

* sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
to provide a tagged full view as the completion of an untagged partial
view if the partial view has a discriminant with default.

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