OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago PR c++/49996
jason [Tue, 25 Oct 2011 18:24:19 +0000 (18:24 +0000)]
PR c++/49996
* tree.c (stabilize_init): Stabilize scalar elements of a
CONSTRUCTOR, too.

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

12 years agoSolaris/Irix compatibility patches.
ian [Tue, 25 Oct 2011 18:06:32 +0000 (18:06 +0000)]
Solaris/Irix compatibility patches.

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

12 years agoFix Solaris build.
ian [Tue, 25 Oct 2011 17:45:55 +0000 (17:45 +0000)]
Fix Solaris build.

From Rainer Orth.

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

12 years agoImplement predeclared delete function.
ian [Tue, 25 Oct 2011 17:21:07 +0000 (17:21 +0000)]
Implement predeclared delete function.

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

12 years agoDon't permit close of receive-only channel.
ian [Tue, 25 Oct 2011 16:35:24 +0000 (16:35 +0000)]
Don't permit close of receive-only channel.
Better panic on attempt to close nil channel.

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

12 years ago * config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct
bernds [Tue, 25 Oct 2011 15:45:08 +0000 (15:45 +0000)]
* config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct
logic for doubleword pops.

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

12 years ago * config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the
bernds [Tue, 25 Oct 2011 15:44:03 +0000 (15:44 +0000)]
* config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the
case where B3 isn't the return register.

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

12 years ago * ja.po: Update.
jsm28 [Tue, 25 Oct 2011 15:37:28 +0000 (15:37 +0000)]
* ja.po: Update.

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

12 years ago/cp
paolo [Tue, 25 Oct 2011 13:48:10 +0000 (13:48 +0000)]
/cp
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50858
* typeck.c (composite_pointer_type_r): Check return value of
composite_pointer_type_r for error_mark_node.

/testsuite
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50858
* g++.dg/overload/operator5.C: New.

/cp
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50861
* pt.c (tsubst_copy_and_build): Check return value of
tsubst_copy_and_build for error_mark_node.

/testsuite
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50861
* g++.dg/template/crash108.C: New.

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

12 years ago* MAINTAINERS (Write After Approval): Add myself.
kyukhin [Tue, 25 Oct 2011 09:39:49 +0000 (09:39 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

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

12 years agoFix lookup of macro maps
dodji [Tue, 25 Oct 2011 08:59:07 +0000 (08:59 +0000)]
Fix lookup of macro maps

* line-map.c (linemap_macro_map_lookup): Fix logic.

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

12 years agoSupport expansion of reserved locations wrapped in virtual locations
dodji [Tue, 25 Oct 2011 08:58:54 +0000 (08:58 +0000)]
Support expansion of reserved locations wrapped in virtual locations

libcpp/

* include/line-map.h (linemap_expand_location): Take a line table
parameter.  Update comment.
(linemap_resolve_location): Update comment.
(linemap_expand_location_full): Remove.
* line-map.c (linemap_resolve_location):  Handle reserved
locations; return a NULL map in those cases.
(linemap_expand_location): If location is reserved, return a
zeroed expanded location.  Update comment.  Take a line table to
assert that the function takes non-virtual locations only.
(linemap_expand_location_full): remove.
(linemap_dump_location): Handle the fact that
linemap_resolve_location can return NULL line maps when the
location resolves to a reserved location.

gcc/
* input.c (expand_location): Rewrite using
linemap_resolve_location and linemap_expand_location.  Add a
comment.

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

12 years agoDelete remaining references to sparc little-endian support.
davem [Tue, 25 Oct 2011 08:57:25 +0000 (08:57 +0000)]
Delete remaining references to sparc little-endian support.

* config/sparc/little-endian.opt: Delete.
* config.gcc: Remove references to config/sparc/little-endian.opt
* doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
* config/sparc/linux64.h: Delete references to -mlittle-endian.
* config/sparc/netbsd-elf.h: Likewise.
* config/sparc/openbsd64.h: Likewise.
* config/sparc/sparc.h: Likewise.
* config/sparc/sp64-elf.h: Likewise and delete overrides for
BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
* config/sparc/sparc.c (dump_target_flag_bits): Remove reference
to MASK_LITTLE_ENDIAN.
* config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.

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

12 years ago PR tree-optimization/50596
jakub [Tue, 25 Oct 2011 08:02:08 +0000 (08:02 +0000)]
PR tree-optimization/50596
* tree-vect-stmts.c (vect_mark_relevant): Only use
FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME.
(vectorizable_store): If is_pattern_stmt_p look through
VIEW_CONVERT_EXPR on lhs.
* tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern):
Use unsigned type instead of signed.
(vect_recog_bool_pattern): Optimize also stores into bool memory in
addition to casts from bool to integral types.
(vect_mark_pattern_stmts): If pattern_stmt already has vinfo
created, don't create it again.

* gcc.dg/vect/vect-cond-10.c: New test.

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

12 years ago * config/i386/i386.c (ix86_frame_pointer_required): Require
ktietz [Tue, 25 Oct 2011 07:32:31 +0000 (07:32 +0000)]
    * config/i386/i386.c (ix86_frame_pointer_required): Require
        frame-pointer, if setjmp is used for 32-bit ms-abi.

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

12 years agoImplement new order of assignment rules.
ian [Tue, 25 Oct 2011 05:37:48 +0000 (05:37 +0000)]
Implement new order of assignment rules.

In "i, x[i] = 1, 2" the assigment to x[i] must use the value
of i from before the assignment statement.

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

12 years ago2011-10-25 Andreas Tobler <andreast@fgznet.ch>
andreast [Tue, 25 Oct 2011 05:13:12 +0000 (05:13 +0000)]
2011-10-25  Andreas Tobler  <andreast@fgznet.ch>

* config/rs6000/t-freebsd: Add wildcard.

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

12 years ago2011-10-25 Joey Ye <joey.ye@arm.com>
jye2 [Tue, 25 Oct 2011 03:33:31 +0000 (03:33 +0000)]
2011-10-25  Joey Ye  <joey.ye@arm.com>

* gcc.target/arm/pr42575.c: Remove architecture option.

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

12 years agoAdd some sparc VIS3 move test cases.
davem [Tue, 25 Oct 2011 03:22:15 +0000 (03:22 +0000)]
Add some sparc VIS3 move test cases.

gcc/testsuite/

* gcc.target/sparc/vis3move-1.c: New test.
* gcc.target/sparc/vis3move-2.c: New test.
* gcc.target/sparc/vis3move-3.c: New test.

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

12 years agoDaily bump.
gccadmin [Tue, 25 Oct 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.

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

12 years ago PR libstdc++/49894
redi [Mon, 24 Oct 2011 23:26:25 +0000 (23:26 +0000)]
PR libstdc++/49894
* include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
base classes to manage construction/destruction of native mutexes,
using NSDMI when INIT macros are defined.
(mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
new base classes.
* include/std/condition_variable (condition_variable): Use NSDMI when
INIT macro is defined. Use noexcept.
* src/condition_variable.cc (condition_variable): Explicitly-default
constructor/destructor when using NSDMI. Use noexcept.
(condition_variable_any): Likewise.

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

12 years agoSegregate sparc FP/VEC constant constraints.
davem [Mon, 24 Oct 2011 23:04:40 +0000 (23:04 +0000)]
Segregate sparc FP/VEC constant constraints.

* config/sparc/sparc.md: Only use F, G, and C constraints in FP
insns.  Only use D, Y, and Z constraints in vector insns.

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

12 years agoRemove extra newline added in October 11 change
meissner [Mon, 24 Oct 2011 22:28:53 +0000 (22:28 +0000)]
Remove extra newline added in October 11 change

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

12 years agoConsolidate some sparc insn patterns using "enabled".
davem [Mon, 24 Oct 2011 21:53:38 +0000 (21:53 +0000)]
Consolidate some sparc insn patterns using "enabled".

* config/sparc/sparc.md (cpu_feature, enabled): New attributes.
(*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
called *movsi_insn.
(*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate
into *movdi_insn_sp32.
(*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into
one pattern called *movdi_insn_sp64.
(*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu):
Consolidate into one pattern called *movsf_insn.
(*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3,
*movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate
into *movdf_insn_sp32.
(*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3,
*movdf_insn_sp64_no_fpu): Consolidate into one pattern called
*movdf_insn_sp64.
(*zero_extendsidi2_insn_sp64_novis3,
*zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern
called *zero_extendsidi2_insn_sp64.
(*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3):
Consolidate into one pattern named *sign_extendsidi2_insn.
(*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3):
Consolidate into one pattern named *mov<VM32:mode>_insn.
(*mov<VM64:mode>_insn_sp64_novis3,
*mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern
named *mov<VM64:mode>_insn_sp64.
(*mov<VM64:mode>_insn_sp32_novis3,
*mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern
named *mov<VM64:mode>_insn_sp32.

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

12 years ago * MAINTAINERS (Write After Approval): Add myself.
tejohnson [Mon, 24 Oct 2011 21:26:47 +0000 (21:26 +0000)]
    * MAINTAINERS (Write After Approval): Add myself.

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

12 years ago2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Mon, 24 Oct 2011 20:14:35 +0000 (20:14 +0000)]
2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
(zero_length_string): Change assertion to accept strinfo without
length but with stmt instead.
Set the endptr pointer also if starting a new chain.
(adjust_related_strinfos): Ignore strinfos marked for delayed
length computation.
(handle_builtin_strcpy): Mark earlier strinfo elements also for
delayed length computation.

2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.dg/strlenopt-22.c: New testcase.
* gcc.dg/strlenopt-4.c: Change scan value for s390(x).

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

12 years agoError if naked return when result variables are shadowed.
ian [Mon, 24 Oct 2011 19:44:18 +0000 (19:44 +0000)]
Error if naked return when result variables are shadowed.

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

12 years ago * testsuite/30_threads/async/49668.cc: Add missing dg-require.
redi [Mon, 24 Oct 2011 19:11:31 +0000 (19:11 +0000)]
* testsuite/30_threads/async/49668.cc: Add missing dg-require.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.

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

12 years ago * gcc.target/i386/sse-5.c (dg-options): Add -mno-sse.
uros [Mon, 24 Oct 2011 18:04:37 +0000 (18:04 +0000)]
* gcc.target/i386/sse-5.c (dg-options): Add -mno-sse.
Remove -march=i386.
(dg-skip-if): Remove.
* gcc.target/i386/funcspec-1.c: Ditto.
* gcc.target/i386/funcspec-3.c (dg-options): Add -mno-sse3.

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

12 years ago PR target/50820
gjl [Mon, 24 Oct 2011 14:49:47 +0000 (14:49 +0000)]
PR target/50820
Port from 4.6 branch r180379
* doc/invoke.texi (AVR Options): New subsubsection to explain EIND
handling and indirect jump/calls on devices > 128k.

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

12 years ago PR target/49824
gjl [Mon, 24 Oct 2011 14:45:51 +0000 (14:45 +0000)]
PR target/49824
* doc/extend.texi (Declaring Attributes of Functions):
Document OS_main and OS_task attributes.
(Specifying Attributes of Variables): Move up
subsection "AVR Variable Attributes" as of alphabetical order.

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

12 years ago2011-10-24 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 24 Oct 2011 14:24:36 +0000 (14:24 +0000)]
2011-10-24  Richard Guenther  <rguenther@suse.de>

* tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants
to vector element type.
(vectorizable_assignment): Bail out for non-mode-precision operations.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion): Likewise.
(vectorizable_store): Handle non-mode-precision stores.
(vectorizable_load): Handle non-mode-precision loads.
(get_vectype_for_scalar_type_and_size): Return a vector type
for non-mode-precision integers.
* tree-vect-loop.c (vectorizable_reduction): Bail out for
non-mode-precision reductions.

* gcc.dg/vect/vect-bool-1.c: New testcase.

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

12 years ago gcc/
jules [Mon, 24 Oct 2011 13:47:09 +0000 (13:47 +0000)]
gcc/
* config/m68k/m68k.c (notice_update_cc): Tighten condition for
setting CC_REVERSED for FP comparisons.

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

12 years ago2011-10-24 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 24 Oct 2011 12:31:01 +0000 (12:31 +0000)]
2011-10-24  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50838
* tree-data-ref.c (dr_analyze_indices): Properly canonicalize
a MEM_REF base if we change it.

* gcc.dg/torture/pr50838.c: New testcase.

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

12 years agoFix date.
charlet [Mon, 24 Oct 2011 12:28:46 +0000 (12:28 +0000)]
Fix date.

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

12 years ago PR rtl-optimization/50833
bernds [Mon, 24 Oct 2011 11:46:04 +0000 (11:46 +0000)]
PR rtl-optimization/50833
* function.c (thread_prologue_and_epilogue_insns): Expect the
return insn optimization only if optimize.

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

12 years ago PR bootstrap/50836
bernds [Mon, 24 Oct 2011 11:03:12 +0000 (11:03 +0000)]
PR bootstrap/50836
* rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".

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

12 years ago2011-10-24 Robert Dewar <dewar@adacore.com>
charlet [Mon, 24 Oct 2011 10:31:29 +0000 (10:31 +0000)]
2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem.adb (Initialize): Fix bug that blew up if called a second
time.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
tb-ivms.c, tb-gcc.c: Update headers to GPL 3.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
name in error msg.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

* gnat_rm.texi Add an entry for restriction No_Finalization.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  If the
current instance is within the one that contains the generic,
the freeze node for the current one must appear in the current
declarative part. Ditto if the current instance is within another
package instance. In both of these cases the freeze node of the
previous instance is not relevant.

2011-10-24  Gary Dismukes  <dismukes@adacore.com>

* switch-m.adb (Normalize_Compiler_Switches): Add recognition
of AAMP-specific switches -univ and -aamp_target.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* a-tienau.adb (Put): Deal properly with limited line length.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb, sem_ch12.adb: Minor reformatting.

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

12 years ago2011-10-16 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 24 Oct 2011 10:01:42 +0000 (10:01 +0000)]
2011-10-16  Tristan Gingold  <gingold@adacore.com>

        * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
        on AIX.

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

12 years ago2011-10-24 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 24 Oct 2011 09:51:42 +0000 (09:51 +0000)]
2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Earlier): make available globally. If both
nodes have the same sloc, the freeze node that does not come
from source is the later one.
(True_Parent): Make available globally.
(Previous_Instance): Subsidiary of
Insert_Freeze_Node_For_Instance, to check whether the generic
parent of the current instance is declared within a previous
instance in the same unit or declarative  part, in which case the
freeze nodes of both instances must appear in order to prevent
elaboration problems in gigi.
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
freeze point, and the freeze node of a preceding instantiation
must be inserted before it.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* checks.ads, checks.adb: Add handling of Synchronization_Check
* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
atomic sync).
* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
flag Minor code reorganization.
* opt.ads (Warn_On_Atomic_Synchronization): New switch.
* par-prag.adb: Add dummy entries for pragma
Disable/Enable_Atomic_Synchronization.
* sem_prag.adb (Process_Suppress_Unsuppress): Handle
case of Atomic_Synchronization specially (not suppressed
by All_Checks, cannot be set from Source).
(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
entry for pragma Disable/Enable_Atomic_Synchronization
* switch-c.adb: The -gnatp switch does not disable
Atomic_Synchronization Add -gnatep switch to disable
Atomic_Synchronization.
* types.ads: Add entry for Synchronization_Check
* usage.adb: Add line for -gnated switch
* warnsw.adb: Settings for Warn_On_Atomic_Synchronization

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

12 years ago2011-10-24 Geert Bosch <bosch@adacore.com>
charlet [Mon, 24 Oct 2011 09:41:42 +0000 (09:41 +0000)]
2011-10-24  Geert Bosch  <bosch@adacore.com>

* s-gearop.adb (Back_Substitute): Avoid overflow if matrix
bounds start at Integer'First.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, s-gearop.adb: Minor reformatting

2011-10-24  Robert Dewar  <dewar@adacore.com>

* warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings
* warnsw.ads: Add comments to Set_GNAT_Mode_Warnings

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

12 years ago * config/avr/avr.c: Break long lines.
gjl [Mon, 24 Oct 2011 09:39:09 +0000 (09:39 +0000)]
* config/avr/avr.c: Break long lines.
Define target hooks on the fly if applicable.
(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
overridden later.
(targetm): Move definition to end of file.
(avr_can_eliminate): Make static on the fly.
(avr_frame_pointer_required_p): Ditto.
(avr_hard_regno_scratch_ok): Ditto.
(avr_builtin_setjmp_frame_value): Make static on the fly.
Indent according to coding rules.
(avr_case_values_threshold): Ditto.
(avr_attribute_table): Move down.

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

12 years ago2011-10-24 Emmanuel Briot <briot@adacore.com>
charlet [Mon, 24 Oct 2011 09:28:21 +0000 (09:28 +0000)]
2011-10-24  Emmanuel Briot  <briot@adacore.com>

* prj-proc.adb (Process_Expression_Variable_Decl): No special
handling for Project_Path unless it is an attribute.

2011-10-24  Javier Miranda  <miranda@adacore.com>

* sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
(Install_Hidden_Primitives): New subprogram.
(Restore_Hidden_Primitives): New subprogram.
(Analyze_Formal_Package_Declaration,
Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
Invoke Check_Hidden_Primitives after every call to
Analyze_Associations, and invoke Restore_Hidden_Primitives to
restore their visibility after processing the instantiation.
(Instantiate_Package_Body): Install visible primitives before
analyzing the instantiation and uninstall them to restore their
visibility when the instantiation has been analyzed.
* sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
(Remove_Suffix): New subprogram
* sem_ch3.adb (Derive_Subprogram): When handling
a derived subprogram for the instantiation of a formal derived
tagged type, inherit the dispatching attributes from the actual
subprogram (not from the parent type).

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

12 years ago2011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
charlet [Mon, 24 Oct 2011 09:24:35 +0000 (09:24 +0000)]
2011-10-24  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: Document explicit use of XDECGNAT library.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
update its uses.
(Build_Discriminant_Assignments): Add local variable D_Loc and update
its uses.
(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
Var_Loc and update their uses.
(Build_Record_Init_Proc): Code reformatting.
(Increment_Counter): Add formal parameter Loc.
(Make_Counter): Add formal parameter Loc.

2011-10-24  Eric Botcazou  <ebotcazou@adacore.com>

* sem_disp.adb (Covers_Some_Interface): Fix typo.

2011-10-24  Matthew Heaney  <heaney@adacore.com>

* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority):
Predicate had wrong sense.

2011-10-24  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
Translate arguments in positional notation into pragma argument
association arguments for the generated pragma.

2011-10-24  Arnaud Charlet  <charlet@adacore.com>

* exp_ch5.adb: Fix minor typo.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Is_Visible_Component): Refine predicate for
the case of a component reference in an instance body, when the
enclosing type is private.

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

12 years ago2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
charlet [Mon, 24 Oct 2011 09:19:15 +0000 (09:19 +0000)]
2011-10-24  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
driver for getting the project support into gnatelim section.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor correction to documentation on address
clause.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

* s-finmas.adb (Attach): Synchronize and call the unprotected version.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Removed.
(Delete_Finalize_Address_Unprotected): New routine.
(Detach): Synchronize and call the unprotected version.
(Detach_Unprotected): Remove locking.
(Finalize): Add various comment on synchronization. Lock the critical
region and call the unprotected versions of routines.
(Finalize_Address): Removed.
(Finalize_Address_Unprotected): New routine.
(Set_Finalize_Address): Synchronize and call
the unprotected version.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Removed.
(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
(Set_Is_Heterogeneous): Add comment on synchronization and
locking.
* s-finmas.ads: Flag Finalization_Started is no longer atomic
because synchronization uses task locking / unlocking.
(Attach): Add comment on usage.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Renamed to
Delete_Finalize_Address_Unprotected.
(Detach): Add comment on usage.
(Detach_Unprotected): New routine.
(Finalize_Address): Renamed to Finalize_Address_Unprotected.
(Set_Finalize_Address): Add comment on usage.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Renamed to
Set_Heterogeneous_Finalize_Address_Unprotected.
* s-stposu.adb (Allocate_Any_Controlled): Add local variable
Allocation_Locked. Add various comments on synchronization. Lock
the critical region and call the unprotected version of
routines.
(Deallocate_Any_Controlled): Add various comments on
synchronization. Lock the critical region and call the unprotected
version of routines.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
are universal and must carry the corresponding type.
* sem_eval.adb (Check_Non_Static_Context): If the type of the
expression is universal real, as may be the case for a fixed point
expression with constant operands in the context of a conversion,
there is nothing to check.
* s-finmas.adb: Minor reformatting

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

12 years ago PR tree-optimization/50730
irar [Mon, 24 Oct 2011 09:16:53 +0000 (09:16 +0000)]
    PR tree-optimization/50730
        * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
        block analysis if encountered unsupported data-ref.

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

12 years agoImplement append([]byte, string...).
ian [Mon, 24 Oct 2011 05:00:34 +0000 (05:00 +0000)]
Implement append([]byte, string...).

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

12 years agoSome minor fixes to the rewritten syscall library.
ian [Mon, 24 Oct 2011 04:57:08 +0000 (04:57 +0000)]
Some minor fixes to the rewritten syscall library.

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

12 years agoFix sol2 sparc -mv8 regression.
davem [Mon, 24 Oct 2011 04:15:46 +0000 (04:15 +0000)]
Fix sol2 sparc -mv8 regression.

* config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
cpu adjustment.
* config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
append -mcpu=v9 when -mv8plus is given.

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

12 years agoRename is_open_array_type to is_slice_type.
ian [Mon, 24 Oct 2011 04:06:44 +0000 (04:06 +0000)]
Rename is_open_array_type to is_slice_type.

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

12 years agoAdd support for sparc VIS3 fp<-->int moves.
davem [Mon, 24 Oct 2011 03:51:47 +0000 (03:51 +0000)]
Add support for sparc VIS3 fp<-->int moves.

* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
between float and non-float regs when VIS3.
* config/sparc/sparc.c (eligible_for_restore_insn): We can't
use a restore when the source is a float register.
(sparc_split_regreg_legitimate): When VIS3 allow moves between
float and integer regs.
(sparc_register_move_cost): Adjust to account for VIS3 moves.
(sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
integer reg to a class containing EXTRA_FP_REGS, constrain to
FP_REGS.
(sparc_secondary_reload): On 32-bit with VIS3 when moving between
float and integer regs we sometimes need a FP_REGS class
intermediate move to satisfy the reload.  When this happens
specify an extra cost of 2.
(*movsi_insn): Rename to have "_novis3" suffix and add !VIS3
guard.
(*movdi_insn_sp32_v9): Likewise.
(*movdi_insn_sp64): Likewise.
(*movsf_insn): Likewise.
(*movdf_insn_sp32_v9): Likewise.
(*movdf_insn_sp64): Likewise.
(*zero_extendsidi2_insn_sp64): Likewise.
(*sign_extendsidi2_insn): Likewise.
(*movsi_insn_vis3): New insn.
(*movdi_insn_sp32_v9_vis3): New insn.
(*movdi_insn_sp64_vis3): New insn.
(*movsf_insn_vis3): New insn.
(*movdf_insn_sp32_v9_vis3): New insn.
(*movdf_insn_sp64_vis3): New insn.
(*zero_extendsidi2_insn_sp64_vis3): New insn.
(*sign_extendsidi2_insn_vis3): New insn.
(TFmode reg/reg split): Make sure both REG operands are float.
(*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
easy constant to integer reg alternatives.
(*mov<VM64:mode>_insn_sp64): Likewise.
(*mov<VM64:mode>_insn_sp32_novis3): Likewise.
(*mov<VM32:mode>_insn_vis3): New insn.
(*mov<VM64:mode>_insn_sp64_vis3): New insn.
(*mov<VM64:mode>_insn_sp32_vis3): New insn.
(VM64 reg<-->reg split): New spliiter for 32-bit.

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

12 years ago PR libstdc++/50834
redi [Mon, 24 Oct 2011 00:19:56 +0000 (00:19 +0000)]
PR libstdc++/50834
* doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.

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

12 years agoDaily bump.
gccadmin [Mon, 24 Oct 2011 00:17:20 +0000 (00:17 +0000)]
Daily bump.

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

12 years agoFactor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.
davem [Sun, 23 Oct 2011 22:34:07 +0000 (22:34 +0000)]
Factor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.

* config/sparc/sparc.c (sparc_split_regreg_legitimate): New
function.
* config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
Declare it.
* config/sparc/sparc.md (DImode reg/reg split): Use it.
(DFmode reg/reg split): Likewise.

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

12 years ago2011-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 23 Oct 2011 22:30:00 +0000 (22:30 +0000)]
2011-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>

    * simplify.c (simplify_transformation_to_array): Fix memory leak.

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

12 years agoAdd missing fzero/fone cases to DImode move on 32-bit v9 sparc.
davem [Sun, 23 Oct 2011 22:21:51 +0000 (22:21 +0000)]
Add missing fzero/fone cases to DImode move on 32-bit v9 sparc.

* config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
generating fzero and fone instructions.
(DImode const_int --> reg splitter): Only trigger for integer regs.

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

12 years agoFix sparc so that reload doesn't try to load non-trivial vector consts directly.
davem [Sun, 23 Oct 2011 21:51:16 +0000 (21:51 +0000)]
Fix sparc so that reload doesn't try to load non-trivial vector consts directly.

* config/sparc/predicates.md (input_operand): Disallow vector
constants other than 0 and -1.
* config/sparc/sparc.c (sparc_preferred_reload_class): Return
NO_REGS for vector constants other than 0 and -1.

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

12 years agoUse a macro instead of a constant to test for sparc integer regnos.
davem [Sun, 23 Oct 2011 21:50:56 +0000 (21:50 +0000)]
Use a macro instead of a constant to test for sparc integer regnos.

* config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
SPARC_INT_REG_P): Define.
(HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
(REGNO_OK_FOR_INDEX_P): Likewise.
* config/sparc/sparc.c (gen_df_reg): Likewise.
(eligible_for_return_delay): Likewise.
(eligible_for_sibcall_delay): Likewise.
(sparc_legitimate_address_p): Likewise.
(emit_save_or_restore_regs): Likewise.
(registers_ok_for_ldd_peep): Likewise.
* config/spac/sparc.md (DI mode splitters): Likewise.
(SF mode const splitters): Likewise.
(DF mode splitters): Likewise.
(32-bit DI mode logical op splitters): Likewise.

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

12 years ago/c-family
paolo [Sun, 23 Oct 2011 21:15:08 +0000 (21:15 +0000)]
/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

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

12 years ago/c-family
paolo [Sun, 23 Oct 2011 20:59:43 +0000 (20:59 +0000)]
/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

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

12 years ago * gcc-interface/decl.c (create_concat_name): Add explicit cast.
ebotcazou [Sun, 23 Oct 2011 20:21:06 +0000 (20:21 +0000)]
* gcc-interface/decl.c (create_concat_name): Add explicit cast.

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

12 years ago * config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
uros [Sun, 23 Oct 2011 19:48:41 +0000 (19:48 +0000)]
* config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
(VI248_256): Remove mode iterator.
* config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
instead of gen_avx2_lshlv4di3.
(bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.

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

12 years agoImplement new syscall package.
ian [Sun, 23 Oct 2011 19:04:37 +0000 (19:04 +0000)]
Implement new syscall package.

Calls to library functions now use entersyscall and
exitsyscall as appropriate.  This is a first step toward
multiplexing goroutines onto threads.

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

12 years ago * config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
uros [Sun, 23 Oct 2011 18:43:11 +0000 (18:43 +0000)]
* config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
*avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
iterator.  Use sseintprefix mode attribute.
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
*avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
iterator.  Use sseintprefix mode attribute.
(*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
attributes.
(*avx2_gatherdi<mode>): Ditto.
(*avx2_gatherdi<mode>256): Ditto.
(VI48_AVX2): Remove mode iterator.
(gthrlastfp): Remove mode attribute.

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

12 years ago/c-family
paolo [Sun, 23 Oct 2011 18:34:45 +0000 (18:34 +0000)]
/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

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

12 years ago2011-10-23 Tom de Vries <tom@codesourcery.com>
vries [Sun, 23 Oct 2011 16:06:40 +0000 (16:06 +0000)]
2011-10-23  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763.c: New test.

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

12 years ago2011-10-23 Tom de Vries <tom@codesourcery.com>
vries [Sun, 23 Oct 2011 16:06:32 +0000 (16:06 +0000)]
2011-10-23  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored out
of ...
(same_succ_flush_bbs): Use same_succ_flush_bb.
(purge_bbs): Remove argument.  Remove calls to same_succ_flush_bbs,
release_last_vdef and delete_basic_block.
(unlink_virtual_phi): New function.
(update_vuses): Add and use vuse1_phi_args argument.  Set var to
SSA_NAME_VAR of vuse1 or vuse2, and use var.  Handle case that def_stmt2
is NULL.  Use phi result as phi arg in case vuse1 or vuse2 is NULL_TREE.
Replace uses of vuse1 if vuse2 is NULL_TREE.  Fix code to limit
replacement of uses.  Propagate phi argument for phis with a single
argument.
(replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
Set vuse1_phi_args if vuse1 is a phi defined in bb1.  Add vuse1_phi_args
as argument to call to update_vuses.  Call release_last_vdef,
same_succ_flush_bb, delete_basic_block.  Update CDI_DOMINATORS info.
(tail_merge_optimize): Remove argument in call to purge_bbs.  Remove
call to free_dominance_info.  Only call calculate_dominance_info once.

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

12 years ago * fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
ebotcazou [Sun, 23 Oct 2011 15:57:09 +0000 (15:57 +0000)]
* fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.

PR tree-optimization/44683
* tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
we can be sure that there are no signed zeros involved.

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

12 years ago * ipa-inline.c (estimate_badness): Scale up and handle overflows.
hubicka [Sun, 23 Oct 2011 14:30:24 +0000 (14:30 +0000)]
* ipa-inline.c (estimate_badness): Scale up and handle overflows.

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

12 years ago PR target/50788
uros [Sun, 23 Oct 2011 14:18:08 +0000 (14:18 +0000)]
PR target/50788
* config/i386/sse.md (avx2_maskload<ssemodesuffix><avxsizesuffix>):
Remove (match_dup 0).
(*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
(*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
(*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.

testsuite/ChangeLog:

2011-10-23  Uros Bizjak  <ubizjak@gmail.com>

PR target/50788
* testsuite/gcc.target/i386/pr50788.c: New test.

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

12 years ago PR tree-optimization/50819
irar [Sun, 23 Oct 2011 12:13:49 +0000 (12:13 +0000)]
    PR tree-optimization/50819
        * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
        the last argument.
        * tree-vect-loop.c (vect_analyze_loop_2): Update call to
        vect_analyze_data_ref_dependences.
        * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
        Remove the last argument.  Check load-after-store dependence
        for unknown dependencies in basic blocks.
        (vect_analyze_data_ref_dependences): Update call to
        vect_analyze_data_ref_dependences.
        * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix
        typo.
        * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies):
        Remove.
        (vect_slp_analyze_bb_1): Update call to
        vect_analyze_data_ref_dependences.  Don't call
        vect_bb_vectorizable_with_dependencies.

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

12 years agoDaily bump.
gccadmin [Sun, 23 Oct 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago PR libstdc++/50196
redi [Sat, 22 Oct 2011 21:31:24 +0000 (21:31 +0000)]
PR libstdc++/50196
* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
* configure: Regenerate.
* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Use dg-require-gthreads-timed instead of dg-require-gthreads.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

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

12 years agoFix cpp_peek_token behaviour (PR bootstrap/50778)
dodji [Sat, 22 Oct 2011 17:49:18 +0000 (17:49 +0000)]
Fix cpp_peek_token behaviour (PR bootstrap/50778)

libcpp/

* include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
context to act upon.
* lex.c (_cpp_remaining_tokens_num_in_context): Likewise.  Update
comment.
(cpp_token_from_context_at): Likewise.
(cpp_peek_token): Use the context to peek tokens from.

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

12 years agoUpdate Go library to r60.3 release.
ian [Sat, 22 Oct 2011 16:19:46 +0000 (16:19 +0000)]
Update Go library to r60.3 release.

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

12 years agoRemove unused functions from sparc backend.
davem [Sat, 22 Oct 2011 08:01:58 +0000 (08:01 +0000)]
Remove unused functions from sparc backend.

* config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
* config/sparc/sparc-protos.h (short_branch, reg_unused_after):
Get rid of declarations.

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

12 years agoMake sparc's "struct processor_costs" private to sparc.c
davem [Sat, 22 Oct 2011 07:30:12 +0000 (07:30 +0000)]
Make sparc's "struct processor_costs" private to sparc.c

* config/sparc/sparc.h (sparc_costs): Remove extern decl.
(struct processor_costs): Move from here..
* config/sparc/sparc.c (struct processor_costs): To here.
(sparc_costs): Mark static.

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

12 years agoConvert sparc over to TARGET_SECONDARY_RELOAD.
davem [Sat, 22 Oct 2011 07:05:32 +0000 (07:05 +0000)]
Convert sparc over to TARGET_SECONDARY_RELOAD.

gcc/

* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
* config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
(sparc_secondary_reload): New function.

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

12 years ago* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
dj [Sat, 22 Oct 2011 01:35:29 +0000 (01:35 +0000)]
* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* ansidecl.h (ENUM_BITFIELD): Always use enum in C++

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

12 years agoDaily bump.
gccadmin [Sat, 22 Oct 2011 00:19:07 +0000 (00:19 +0000)]
Daily bump.

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

12 years ago2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 21 Oct 2011 22:48:39 +0000 (22:48 +0000)]
2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/50821
* check.c (gfc_check_ishftc): Check args are constant before
extracting the integer.

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

12 years ago * config/c6x/c6x.c (c6x_asm_emit_except_personality,
bernds [Fri, 21 Oct 2011 21:04:13 +0000 (21:04 +0000)]
* config/c6x/c6x.c (c6x_asm_emit_except_personality,
c6x_asm_init_sections): New functions.
(TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS):
Define.

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

12 years ago * unwind-arm-common.inc: Handle ID3/4 unwinding data.
bernds [Fri, 21 Oct 2011 21:00:11 +0000 (21:00 +0000)]
* unwind-arm-common.inc: Handle ID3/4 unwinding data.

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

12 years ago/cp
paolo [Fri, 21 Oct 2011 20:01:31 +0000 (20:01 +0000)]
/cp
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45385
* init.c (build_vec_init): Early return error_mark_node if
maxindex is -1.

/c-family
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45385
* c-common.c (conversion_warning): Remove code looking for
artificial operands.

/testsuite
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45385
* g++.dg/warn/Wconversion4.C: New.

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

12 years ago PR target/50813
jakub [Fri, 21 Oct 2011 19:32:20 +0000 (19:32 +0000)]
PR target/50813
* config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
V4DImode and V8SImode for !TARGET_AVX2.

* gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
from element other than first and reverse permutation.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.

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

12 years ago PR bootstrap/50825
bernds [Fri, 21 Oct 2011 18:38:44 +0000 (18:38 +0000)]
PR bootstrap/50825
* sched-deps.c (add_dependence): If not doing predication, promote
REG_DEP_CONTROL to REG_DEP_ANTI.

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

12 years ago/cp
paolo [Fri, 21 Oct 2011 18:18:55 +0000 (18:18 +0000)]
/cp
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31423
* typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
for invalid use of member function.

/testsuite
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31423
* g++.dg/parse/error43.C: New.
* g++.dg/parse/error44.C: Likewise.

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

12 years ago * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
gjl [Fri, 21 Oct 2011 15:46:32 +0000 (15:46 +0000)]
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
instead of X to avr_legitimize_reload_address.
* config/avr/avr-protos.h (avr_legitimize_reload_address): Change
first argument's type from rtx to rtx*.
* config/avr/avr.c (avr_legitimize_reload_address): Ditto.
Pass PX to push_reload instead of &X.  Change log messages for
better distinction.

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

12 years ago2011-10-21 Roland Stigge <stigge@antcom.de>
paolo [Fri, 21 Oct 2011 14:55:42 +0000 (14:55 +0000)]
2011-10-21  Roland Stigge  <stigge@antcom.de>

PR translation/47064
* params.def: Fix typo "compilatoin" -> "compilation".

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

12 years ago * ChangeLog: Add missing PR reference.
uros [Fri, 21 Oct 2011 14:34:51 +0000 (14:34 +0000)]
* ChangeLog: Add missing PR reference.

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

12 years ago PR target/50740
uros [Fri, 21 Oct 2011 14:32:32 +0000 (14:32 +0000)]
PR target/50740
* config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
if max_level allows that.

testsuite/ChangeLog:

PR target/50740
* gcc.target/i386/avx2-check.h (main): Check CPUID level correctly.
* gcc.target/i386/bmi2-check.h: Ditto.

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

12 years ago * reg-notes.def (DEP_CONTROL): New.
bernds [Fri, 21 Oct 2011 13:35:44 +0000 (13:35 +0000)]
* reg-notes.def (DEP_CONTROL): New.
* sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
not doing speculation.
* rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
record_hard_reg_uses_1, record_hard_reg_uses): New functions.
* function.c (record_hard_reg_sets, record_hard_reg_uses,
record_hard_reg_uses_1): Remove; move to rtlanal.c.
* lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
* haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
(MUST_RECOMPUTE_SPEC_P): New macro.
(real_insn_for_shadow): New function.
(cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
toggle_cancelled_flags): New static functions.
(schedule_insn): Relax an assert to only check for empty hard back
dependencies.  Skip cancelled dependencies.  Call
check_clobbered_conditions.
(copy_insn_list): Remove function, renamed moved to lists.c.
(save_backtrack_point): Use new spelling copy_INSN_LIST.
(unschedule_insns_until): Ensure TODO_SPEC is reset properly.
(restore_last_backtrack_point): Likewise.  Call toggle_cancelled_flags.
(estimate_insn_tick): Ignore cancelled dependencies.
(haifa_speculate_insn): Move declaration.
(try_ready): Move code into recompute_todo_spec and call it.  Tweak
some asserts.  Ensure predicated patterns are restored if necessary.
Dump DEP_CONTROL flag.
(haifa_change_pattern): Merge with sched_change_pattern.
(sched_change_pattern): Remove function.
* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove.  All
uses changed to simply not test NON_FLUSH_JUMP_P.
(ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
REG_DEP_CONTROL.
(dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
(reg_pending_control_uses, control_dependency_cache): New static
variables.
(sched_get_reverse_condition_uncached): New function.
(sd_find_dep_between): Remove pointless assert.  Look in
control_dependency_cache.
(ask_dependency_caches, set_dependency_caches, sd_delete_dep,
extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
and control_dependency_cache.
(sd_unresolve_dep): Use dep_spec_p.
(add_dependence): Now a wrapper around add_dependence_1, handling
REG_DEP_CONTROL specially.
(flush_pending_lists): Clear pending_jump_insns.
(sched_analyze_1): Handle pending_jump_insns like a memory flush.
(sched_analyze_2): Unconditionally add to pending memory flushes,
keep previous behaviour but apply it to pending_jump_insns instead.
(sched_analyze_insn): Defer adding jump reg dependencies using
reg_pending_control_uses; add them to the control_uses list.  Handle
pending_jump_insns and control_uses when adding dependence lists.
(deps_analyze_insn): Update INSN_COND_DEPS.
(deps_analyze_insn): Add jumps to pending_jump_insns rather than
last_pending_memory_flush.
(init_deps): Initialize pending_jump_insns.
(free_deps): Free control_uses.
(remove_from_deps): Remove from pending_jump_insns.
(init_deps_global): Allocate reg_pending_control_uses).
(finish_deps_global): Free it.
(add_dependence_1): Renamed from add_dependence.  Handle
REG_DEP_CONTROL.
* rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
(copy_INSN_LIST, concat_INSN_LIST): Declare.
* sched-int.h (struct deps_reg): Add control_uses.
(struct deps_desc): Add pending_jump_insns.
(struct _haifa_deps_insn_data): Add cond_deps.
(struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
(INSN_COND_DEPS, PREDICATED_PAT): New macros.
(BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
(DEP_CONTROL): New macro.
(DEP_TYPES): Include it.
(HARD_DEP): Adjust definition.
(DEP_CANCELLED): New macro.
(enum SCHED_FLAGS): Add DO_PREDICATION.
(sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
* sched-rgn.c (concat_INSN_LIST): Remove function.
(deps_join): Handle pending_jump_insns.
(free_pending_lists): Likewise.
* config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
schedule.

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

12 years ago PR c++/50811
jason [Fri, 21 Oct 2011 13:31:21 +0000 (13:31 +0000)]
PR c++/50811
* parser.c (cp_parser_class_head): Parse virt-specifiers
regardless of whether an id is present

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

12 years agoFix gnat.dg testing with linker plugin check
ro [Fri, 21 Oct 2011 12:53:09 +0000 (12:53 +0000)]
Fix gnat.dg testing with linker plugin check

* lib/gcc-dg.exp (GCC_UNDER_TEST): Set before calling
check_linker_plugin_available.

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

12 years ago PR target/50820
gjl [Fri, 21 Oct 2011 12:48:04 +0000 (12:48 +0000)]
PR target/50820
* config/avr/libgcc.S (__EIND__): New define to 0x3C.
(__tablejump__): Consistently use EIND for indirect jump/call.
(__tablejump_elpm__): Ditto.

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

12 years ago * config/c6x/c6x.md (attr "op_pattern"): New.
bernds [Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)]
* config/c6x/c6x.md (attr "op_pattern"): New.
(load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
* config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
Likewise.
* config/c6x/c6x-mult.md: Regenerate.
* config/c6x/c6x.c: Include "regrename.h".
(unit_req_table): New typedef.
(unit_reqs): Use it for the declaration.
(unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
get_unit_operand_masks, try_rename_operands, reshuffle_units): New
static functions.
(count_unit_reqs): New arg reqs.  All callers changed.  Use
get_unit_reqs, and don't merge here.
(res_mii): New arg reqs.  All callers changed.  Rewrite to use a loop
using unit_req_factor.
(hwloop_optimize): Call reshuffle_units.  Call merge_unit_reqs after
count_unit_reqs.
(c6x_reorg): Add reg notes problem, and call df_analyze.
* Makefile.in ($(out_object_file)): Depend on regrename.h.

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

12 years ago * gcc.target/i386/branch-cost1.c: New test.
ktietz [Fri, 21 Oct 2011 11:50:42 +0000 (11:50 +0000)]
    * gcc.target/i386/branch-cost1.c: New test.
        * gcc.target/i386/branch-cost2.c: New test.
        * gcc.target/i386/branch-cost3.c: New test.
        * gcc.target/i386/branch-cost4.c: New test.

        * fold-const.c (simple_operand_p_2): Handle integral
        casts from boolean-operands.

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

12 years agoFix several ChangeLog errors.
ro [Fri, 21 Oct 2011 11:41:15 +0000 (11:41 +0000)]
Fix several ChangeLog errors.

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

12 years ago * cgraph.c (dump_cgraph_node): Dump alias flag.
hubicka [Fri, 21 Oct 2011 11:04:20 +0000 (11:04 +0000)]
* cgraph.c (dump_cgraph_node): Dump alias flag.
* cgraphunit.c (handle_alias_pairs): Handle weakrefs with no destination.
(get_alias_symbol): New function.
(output_weakrefs): Output also weakrefs with no destinatoin.
(lto_output_node): Output weakref alias flag when at function boundary.

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

12 years ago2011-10-21 Andrew Stubbs <ams@codesourcery.com>
ams [Fri, 21 Oct 2011 10:31:48 +0000 (10:31 +0000)]
2011-10-21  Andrew Stubbs  <ams@codesourcery.com>

PR target/50809

gcc/
* config/arm/driver-arm.c (vendors): Make static.

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