platform/upstream/gcc.git
11 years agore PR rtl-optimization/56117 (ICE: in cselib_subst_to_values, at cselib.c:1853 with...
Jakub Jelinek [Mon, 28 Jan 2013 16:50:22 +0000 (17:50 +0100)]
re PR rtl-optimization/56117 (ICE: in cselib_subst_to_values, at cselib.c:1853 with -O2 -fsched2-use-superblocks and __builtin_prefetch())

PR rtl-optimization/56117
* sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
call cselib_lookup_from_insn on the MEM before calling
add_insn_mem_dependence.

* gcc.dg/pr56117.c: New test.

From-SVN: r195513

11 years agotree-inline.c (remap_gimple_stmt): Do not assing a BLOCK to a stmt that didn't have...
Richard Biener [Mon, 28 Jan 2013 14:50:57 +0000 (14:50 +0000)]
tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK to a stmt that didn't have one.

2013-01-28  Richard Biener  <rguenther@suse.de>

* tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
to a stmt that didn't have one.
(copy_phis_for_bb): Likewise for PHI arguments.
(copy_debug_stmt): Likewise for debug stmts.

From-SVN: r195509

11 years agore PR tree-optimization/56034 (ICE: verify_gimple failed (invalid PHI argument) with...
Richard Biener [Mon, 28 Jan 2013 14:45:46 +0000 (14:45 +0000)]
re PR tree-optimization/56034 (ICE: verify_gimple failed (invalid PHI argument) with -ftree-loop-distribution)

2013-01-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56034
* tree-loop-distribution.c (enum partition_kind): Add
PKIND_REDUCTION.
(partition_builtin_p): Adjust.
(generate_code_for_partition): Handle PKIND_REDUCTION.  Assert
it is the last partition.
(rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
up the vertex for the definition.
(classify_partition): Classify whether a partition is a
PKIND_REDUCTION, thus has uses outside of the loop.
(ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
Merge all PKIND_REDUCTION partitions into the last partition.
(tree_loop_distribution): Seed partitions from reductions as well.

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

From-SVN: r195508

11 years agore PR tree-optimization/56125 (-O2 -ffast-math generates bad code when dividing a...
Jakub Jelinek [Mon, 28 Jan 2013 14:43:03 +0000 (15:43 +0100)]
re PR tree-optimization/56125 (-O2 -ffast-math generates bad code when dividing a double by the square of another double.)

PR tree-optimization/56125
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
pow(x,c) into sqrt(x) * powi(x, n/2) or
1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
optimizing for size.
Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
integer.

* gcc.dg/pr56125.c: New test.

From-SVN: r195507

11 years agore PR fortran/53537 (Explicit IMPORT of renamed USE-associated symbol fails)
Tobias Burnus [Mon, 28 Jan 2013 14:37:20 +0000 (15:37 +0100)]
re PR fortran/53537 (Explicit IMPORT of renamed USE-associated symbol fails)

2013-01-28  Tobias Burnus  <burnus@net-b.de>
    Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/53537
* symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
interface block.
(gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
* decl.c (gfc_match_data_decl): Ditto.
(variable_decl): Remove undeclared type error.
(gfc_match_import): Use renamed instead of original name.

2013-01-28  Tobias Burnus  <burnus@net-b.de>
    Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/53537
* gfortran.dg/import2.f90: Adjust undeclared type error messages.
* gfortran.dg/import8.f90: Likewise.
* gfortran.dg/interface_derived_type_1.f90: Likewise.
* gfortran.dg/import10.f90: New test.
* gfortran.dg/import11.f90: Likewise

Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r195506

11 years agore PR testsuite/56053 (FAIL: c-c++-common/asan/(global|stack)-overflow-1.c)
Jakub Jelinek [Mon, 28 Jan 2013 14:28:16 +0000 (15:28 +0100)]
re PR testsuite/56053 (FAIL: c-c++-common/asan/(global|stack)-overflow-1.c)

PR testsuite/56053
* c-c++-common/asan/heap-overflow-1.c: Don't include stdlib.h and
string.h.  Provide memset, malloc and free prototypes, adjust line
numbers in dg-output.
* c-c++-common/asan/stack-overflow-1.c: Don't include string.h.
Provide memset prototype and adjust line numbers in dg-output.
* c-c++-common/asan/global-overflow-1.c: Likewise.

From-SVN: r195505

11 years agore PR tree-optimization/56094 (Invalid line number info generated with tree-level...
Jakub Jelinek [Mon, 28 Jan 2013 14:05:40 +0000 (15:05 +0100)]
re PR tree-optimization/56094 (Invalid line number info generated with tree-level ivopts)

PR tree-optimization/56094
* gimplify.c (force_gimple_operand_1): Temporarily set input_location
to UNKNOWN_LOCATION while gimplifying expr.

* gcc.dg/pr56094.c: New test.

From-SVN: r195504

11 years agoFor Amol Pise.
Amol Pise [Mon, 28 Jan 2013 10:45:41 +0000 (10:45 +0000)]
For Amol Pise.

2013-01-27  Amol Pise  <amolpise15@gmail.com>

* gcc.target/arm/neon-vfnms-1.c: New test.
* gcc.target/arm/neon-vfnma-1.c: New test.

From-SVN: r195503

11 years agoaarch64.c (TARGET_FIXED_CONDITION_CODE_REGS): Undef to avoid warning.
Naveen H.S [Mon, 28 Jan 2013 05:15:52 +0000 (05:15 +0000)]
aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS): Undef to avoid warning.

2013-01-25   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
Undef to avoid warning.

From-SVN: r195502

11 years agoDaily bump.
GCC Administrator [Mon, 28 Jan 2013 00:18:50 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195500

11 years agore PR target/56114 (x86_64-linux-gnu-gcc generate wrong asm instruction MOVABS for...
Uros Bizjak [Sun, 27 Jan 2013 13:16:54 +0000 (14:16 +0100)]
re PR target/56114 (x86_64-linux-gnu-gcc generate wrong asm instruction MOVABS for intel syntax)

PR target/56114
* config/i386/i386.md (*movabs<mode>_1): Add square brackets around
operand 0 in movabs insn template for -masm=intel asm alternative.
(*movabs<mode>_2): Ditto for operand 1.

testsuite/ChangeLog:

PR target/56114
* gcc.target/i386/pr56114.c: New test.

From-SVN: r195494

11 years agore PR fortran/55984 ([OOP] ICE: gfc_trans_code(): Bad statement code)
Paul Thomas [Sun, 27 Jan 2013 07:18:22 +0000 (07:18 +0000)]
re PR fortran/55984 ([OOP] ICE: gfc_trans_code(): Bad statement code)

2013-01-27 Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55984
* ChangeLog : Correct wrong PR number.

From-SVN: r195493

11 years ago[multiple changes]
Paul Thomas [Sun, 27 Jan 2013 07:09:06 +0000 (07:09 +0000)]
[multiple changes]

2013-01-27 Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55789
PR fortran/56047
* gfortran.h : Add associate_var to symbol_attr.
* resolve.c (resolve_assoc_var): Set associate_var attribute.
If the target class_ok is set, set it for the associate
variable.
* check.c (allocatable_check): Associate variables should not
have the allocatable attribute even if their symbols do.
* class.c (gfc_build_class_symbol): Symbols with associate_var
set will always have a good class container.

2013-01-27  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55789
* gfortran.dg/associate_14.f90: New test.

PR fortran/56047
* gfortran.dg/associate_13.f90: New test.

From-SVN: r195492

11 years agoDaily bump.
GCC Administrator [Sun, 27 Jan 2013 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195491

11 years agogcc: PR target/54663
David Holsgrove [Sat, 26 Jan 2013 16:53:45 +0000 (16:53 +0000)]
gcc: PR target/54663

gcc:  PR target/54663
* config.gcc (microblaze*-linux*): Add tmake_file to allow building
of microblaze-c.o.
libgcc:
* config.host(microblaze*-linux*): tmake_file: Remove
t-slibgcc-nolc-override, add t-slibgcc-libgcc.
* config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE
to exclude functions from being built with libgcc.c and use
the microblaze assembly.

From-SVN: r195488

11 years agogcc/config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update tm_file.
Edgar E. Iglesias [Sat, 26 Jan 2013 16:39:10 +0000 (16:39 +0000)]
gcc/config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update tm_file.

libgcc/config.host (microblaze*-*-*): Rename microblaze*-*-elf, update extra_parts.

From-SVN: r195487

11 years agoconfigure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
Michael Haubenwallner [Sat, 26 Jan 2013 04:07:08 +0000 (05:07 +0100)]
configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.

2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>

        * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
        * configure: Regenerate.

From-SVN: r195486

11 years agoDaily bump.
GCC Administrator [Sat, 26 Jan 2013 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195485

11 years agolibgo: Add --enable-werror configure option.
Ian Lance Taylor [Sat, 26 Jan 2013 00:13:34 +0000 (00:13 +0000)]
libgo: Add --enable-werror configure option.

From-SVN: r195482

11 years agore PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)
Ian Lance Taylor [Fri, 25 Jan 2013 23:43:23 +0000 (23:43 +0000)]
re PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)

PR other/56076
runtime: Support sparc64 in lfstack.

From-SVN: r195479

11 years agore PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)
Jakub Jelinek [Fri, 25 Jan 2013 22:36:11 +0000 (23:36 +0100)]
re PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)

PR other/56076
* dwarf.c (read_line_header): Don't crash if DW_AT_comp_dir
attribute was not seen.

From-SVN: r195478

11 years agoremove unnecessary bits from g++.dg/warn/pmf2.C
Jason Merrill [Fri, 25 Jan 2013 20:27:54 +0000 (15:27 -0500)]
remove unnecessary bits from g++.dg/warn/pmf2.C

From-SVN: r195477

11 years agore PR middle-end/56098 (conditional write through volatile pointer produces unintende...
Jakub Jelinek [Fri, 25 Jan 2013 20:03:54 +0000 (21:03 +0100)]
re PR middle-end/56098 (conditional write through volatile pointer produces unintended read)

PR tree-optimization/56098
* tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
for stmts with volatile ops.
(cond_store_replacement): Don't optimize if assign has volatile ops.
(cond_if_else_store_replacement_1): Don't optimize if either
then_assign or else_assign have volatile ops.
(hoist_adjacent_loads): Don't optimize if either def1 or def2 have
volatile ops.

* gcc.dg/pr56098-1.c: New test.
* gcc.dg/pr56098-2.c: New test.

From-SVN: r195475

11 years agore PR c++/56095 (Crash casting function pointer as non-type template argument)
Jason Merrill [Fri, 25 Jan 2013 20:01:29 +0000 (15:01 -0500)]
re PR c++/56095 (Crash casting function pointer as non-type template argument)

PR c++/56095
* pt.c (convert_nontype_argument_function): Handle invalid input.
(convert_nontype_argument): Likewise.

From-SVN: r195474

11 years agoinvoke.texi (AVR Built-in Macros): Document __XMEGA__.
Georg-Johann Lay [Fri, 25 Jan 2013 18:57:49 +0000 (18:57 +0000)]
invoke.texi (AVR Built-in Macros): Document __XMEGA__.

* doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.

From-SVN: r195473

11 years agoextend.texi (Example of asm with clobbered asm reg): Fix missing ':' in asm example.
Georg-Johann Lay [Fri, 25 Jan 2013 18:11:53 +0000 (18:11 +0000)]
extend.texi (Example of asm with clobbered asm reg): Fix missing ':' in asm example.

* doc/extend.texi (Example of asm with clobbered asm reg): Fix
missing ':' in asm example.

From-SVN: r195471

11 years agore PR c++/56104 (Wrong "dereferencing type-punned pointer" warning)
Jason Merrill [Fri, 25 Jan 2013 17:55:09 +0000 (12:55 -0500)]
re PR c++/56104 (Wrong "dereferencing type-punned pointer" warning)

PR c++/56104
* typeck.c (get_member_function_from_ptrfunc): Optimize if the
dynamic type has no virtual functions.

From-SVN: r195470

11 years agoaarch64-simd-builtins.def: Separate sq<r>dmulh_lane entries into lane and laneq entries.
Tejas Belagod [Fri, 25 Jan 2013 11:35:03 +0000 (11:35 +0000)]
aarch64-simd-builtins.def: Separate sq<r>dmulh_lane entries into lane and laneq entries.

2013-01-25  Tejas Belagod  <tejas.belagod@arm.com>

        * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
        entries into lane and laneq entries.
        * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>): Remove
        AdvSIMD scalar modes.
        (aarch64_sq<r>dmulh_laneq<mode>): New.
        (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
        modes.
        * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
        builtin implementations to relfect changes in RTL in aarch64-simd.md.
        * config/aarch64/iterators.md (VCOND): New.
        (VCONQ): New.

From-SVN: r195467

11 years agore PR target/54222 ([avr] Implement fixed-point support)
Georg-Johann Lay [Fri, 25 Jan 2013 09:28:09 +0000 (09:28 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)

gcc/
PR target/54222
* config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
Add NULL LIBNAME argument to existing definitions.
(ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
* config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
* config/avr/avr.c (DEF_BUILTIN): Same.
(avr_init_builtins): Pass down LIBNAME to add_builtin_function.
(avr_expand_builtin): Expand to a vanilla call if a libgcc
implementation is available (DECL_ASSEMBLER_NAME is set).
(avr_fold_absfx): New static function.
(avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
AVR_BUILTIN_ABSLLK.
* config/avr/stdfix.h (abshr, absr, abslr, absllr)
(abshk, absk, abslk, absllk): Provide as static inline functions.

gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/builtins-3-absfx.c: New test.

From-SVN: r195464

11 years agoFix PR56035.
Marek Polacek [Fri, 25 Jan 2013 08:52:02 +0000 (08:52 +0000)]
Fix PR56035.

From-SVN: r195462

11 years agoRemove conflict marker
Eric Botcazou [Fri, 25 Jan 2013 08:16:57 +0000 (08:16 +0000)]
Remove conflict marker

From-SVN: r195461

11 years ago* MAINTAINERS: Update my email.
Maxim Kuvyrkov [Fri, 25 Jan 2013 04:00:31 +0000 (04:00 +0000)]
* MAINTAINERS: Update my email.

From-SVN: r195459

11 years agoDaily bump.
GCC Administrator [Fri, 25 Jan 2013 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195451

11 years agoi386.md (*movti_internal_rex64): Add (o,e) alternative.
Uros Bizjak [Thu, 24 Jan 2013 22:50:43 +0000 (23:50 +0100)]
i386.md (*movti_internal_rex64): Add (o,e) alternative.

* config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
(*movtf_internal_rex64): Add (!o,C) alternative
(*movxf_internal_rex64): Ditto.
(*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.

From-SVN: r195446

11 years agobind_c_array_params_2.f90: Require -mno-relax-pic-calls for MIPS.
Richard Sandiford [Thu, 24 Jan 2013 21:45:55 +0000 (21:45 +0000)]
bind_c_array_params_2.f90: Require -mno-relax-pic-calls for MIPS.

gcc/testsuite/
* gfortran.dg/bind_c_array_params_2.f90: Require -mno-relax-pic-calls
for MIPS.

From-SVN: r195443

11 years agoocteon-pipe-1.c: Add -ffat-lto-objects
Richard Sandiford [Thu, 24 Jan 2013 21:40:54 +0000 (21:40 +0000)]
octeon-pipe-1.c: Add -ffat-lto-objects

gcc/testsuite/
* gcc.target/mips/octeon-pipe-1.c: Add -ffat-lto-objects

From-SVN: r195441

11 years agore PR go/46986 (Go is not supported on Darwin)
Ian Lance Taylor [Thu, 24 Jan 2013 19:44:23 +0000 (19:44 +0000)]
re PR go/46986 (Go is not supported on Darwin)

PR go/46986
all: prepend #__USER_LABEL_PREFIX__ to mangled Go symbols
For old-fashioned Darwin.

From-SVN: r195438

11 years agoinvoke.texi: fix typo.
Shenghou Ma [Thu, 24 Jan 2013 18:51:49 +0000 (18:51 +0000)]
invoke.texi: fix typo.

* doc/invoke.texi: fix typo.
* doc/objc.texi: fix typo.

From-SVN: r195437

11 years agore PR go/46986 (Go is not supported on Darwin)
Ian Lance Taylor [Thu, 24 Jan 2013 18:12:23 +0000 (18:12 +0000)]
re PR go/46986 (Go is not supported on Darwin)

PR go/46986
libgo/Makefile, libgo/go/os/stat_atimespec.go: fix typos

From-SVN: r195436

11 years agomips.md (*and<mode>3_mips16): Use the "W" constraint for the first two alternatives.
Richard Sandiford [Thu, 24 Jan 2013 17:46:41 +0000 (17:46 +0000)]
mips.md (*and<mode>3_mips16): Use the "W" constraint for the first two alternatives.

gcc/
* config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
for the first two alternatives.

From-SVN: r195433

11 years agore PR c/56078 (causes cc1 to crash)
Jakub Jelinek [Thu, 24 Jan 2013 16:59:44 +0000 (17:59 +0100)]
re PR c/56078 (causes cc1 to crash)

PR c/56078
* c-typeck.c (set_nonincremental_init_from_string): If
constructor_max_index is NULL, treat it as if tree_int_cst_lt
returned false.
(process_init_element): Likewise.

* gcc.dg/pr56078.c: New test.
* gcc.c-torture/compile/20030305-1.c: Add dg-error lines.

From-SVN: r195432

11 years agore PR tree-optimization/55927 (FAIL: g++.dg/ipa/devirt-10.C -std=gnu++11 scan-ipa...
Martin Jambor [Thu, 24 Jan 2013 16:18:26 +0000 (17:18 +0100)]
re PR tree-optimization/55927 (FAIL: g++.dg/ipa/devirt-10.C -std=gnu++11  scan-ipa-dump-times inline "Discovered a virtual call to a known target" 1)

2013-01-24  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/55927
* g++.dg/ipa/devirt-10.C: Disable early inlining.

From-SVN: r195430

11 years agoRemove zone allocator.
Diego Novillo [Thu, 24 Jan 2013 15:13:46 +0000 (10:13 -0500)]
Remove zone allocator.

This patch removes the GC zone allocator.  It is not used and it
produces several regressions in the testsuite.  Furthermore, it
complicates things for the plan to implement manual GC markers
(http://gcc.gnu.org/wiki/cxx-conversion/gc-alternatives#Do_GC_marking_manually).

Tested on x86_64 with standard checking, --enable-checking=gc and
--enable-checking=release.

From-SVN: r195426

11 years agoavr.c (avr_out_fract): Make register numbers that might be outside of source operand...
Georg-Johann Lay [Thu, 24 Jan 2013 13:27:11 +0000 (13:27 +0000)]
avr.c (avr_out_fract): Make register numbers that might be outside of source operand signed.

* config/avr/avr.c (avr_out_fract): Make register numbers that
might be outside of source operand signed.

From-SVN: r195424

11 years agoconstraints.md (Yf): New constraint.
Uros Bizjak [Thu, 24 Jan 2013 13:03:40 +0000 (14:03 +0100)]
constraints.md (Yf): New constraint.

* config/i386/constraints.md (Yf): New constraint.
* config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
of f constraint to conditionaly disable x87 register preferences.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.

testsuite/ChangeLog:

* gcc.target/i386/movsd.c: New test.

From-SVN: r195423

11 years agore PR libstdc++/56085 (Unsafe negation in C++03 pow(complex,int))
Paolo Carlini [Thu, 24 Jan 2013 12:20:57 +0000 (12:20 +0000)]
re PR libstdc++/56085 (Unsafe negation in C++03 pow(complex,int))

2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/56085
* include/std/complex (pow(const complex<>&, int)): Avoid __n
signed overflow.

From-SVN: r195421

11 years agore PR inline-asm/55934 (LRA inline asm error recovery)
Steven Bosscher [Thu, 24 Jan 2013 10:30:26 +0000 (10:30 +0000)]
re PR inline-asm/55934 (LRA inline asm error recovery)

gcc/

PR inline-asm/55934
* lra-assigns.c (assign_by_spills): Throw away the pattern of asms
that have operands with impossible constraints.
Add a FIXME for a speed-up opportunity.
* lra-constraints.c (process_alt_operands): Verify that a class
selected from constraints on asms is valid for the operand mode.
(curr_insn_transform): Remove incorrect comment.

testsuite/

PR inline-asm/55934
* gcc.target/i386/pr55934.c: New test.

From-SVN: r195420

11 years agoDaily bump.
GCC Administrator [Thu, 24 Jan 2013 00:19:41 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r195417

11 years agoisl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.
Shenghou Ma [Wed, 23 Jan 2013 22:37:01 +0000 (22:37 +0000)]
isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.

* config/isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.
* configure: Re-generate.

From-SVN: r195414

11 years agoImprove performance of byte-swapped I/O.
Janne Blomqvist [Wed, 23 Jan 2013 21:56:54 +0000 (23:56 +0200)]
Improve performance of byte-swapped I/O.

2013-01-23  Janne Blomqvist  <jb@gcc.gnu.org>

* io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX
instead of reverse_memcpy.
* io/io.h (reverse_memcpy): Remove prototype.
* io/transfer.c (reverse_memcpy): Make static, move towards
beginning of file.
(bswap_array): New function.
(unformatted_read): Use bswap_array to byte swap the data
in-place.
(unformatted_write): Use a larger temp buffer and bswap_array.
(us_read): Use __builtin_bswapXX instead of reverse_memcpy.
(write_us_marker): Likewise.

From-SVN: r195413

11 years agore PR fortran/56081 (Seg fault ICE on select with bad case)
Janus Weil [Wed, 23 Jan 2013 21:38:40 +0000 (22:38 +0100)]
re PR fortran/56081 (Seg fault ICE on select with bad case)

2013-01-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56081
* resolve.c (resolve_select): Add argument 'select_type', reject
non-scalar expressions.
(resolve_select_type,resolve_code): Pass new argument to
'resolve_select'.

2013-01-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56081
* gfortran.dg/select_8.f90: New.

From-SVN: r195412

11 years ago* ChangeLog: Add missing entry.
Uros Bizjak [Wed, 23 Jan 2013 19:08:45 +0000 (20:08 +0100)]
* ChangeLog: Add missing entry.

From-SVN: r195411

11 years agoi386.md (*movdf_internal_rex64): Disparage alternatives involving stack registers...
Uros Bizjak [Wed, 23 Jan 2013 19:03:35 +0000 (20:03 +0100)]
i386.md (*movdf_internal_rex64): Disparage alternatives involving stack registers slightly.

* config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
involving stack registers slightly.

From-SVN: r195410

11 years agors6000.c (rs6000_delegitimize_address): Check that TOC operand is a valid symbol...
David Edelsohn [Wed, 23 Jan 2013 16:24:54 +0000 (11:24 -0500)]
rs6000.c (rs6000_delegitimize_address): Check that TOC operand is a valid symbol ref in the constant pool.

        * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
        TOC operand is a valid symbol ref in the constant pool.

From-SVN: r195409

11 years agoAdd TARGET_OS_CPP_BUILTINS for microblaze*-linux
Edgar E. Iglesias [Wed, 23 Jan 2013 15:24:52 +0000 (15:24 +0000)]
Add TARGET_OS_CPP_BUILTINS for microblaze*-linux

From-SVN: r195408

11 years agore PR target/54222 ([avr] Implement fixed-point support)
Georg-Johann Lay [Wed, 23 Jan 2013 15:13:51 +0000 (15:13 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)

PR target/54222
* config/avr/stdfix.h: New file.
* t-avr (stdfix-gcc.h): New rule to build it.
(EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.

From-SVN: r195407

11 years agoRemove obsolete check for target_config_cflags, no longer set.
David Holsgrove [Wed, 23 Jan 2013 15:12:03 +0000 (15:12 +0000)]
Remove obsolete check for target_config_cflags, no longer set.

From-SVN: r195406

11 years agolibsanitizer merge from upstream r173241
Kostya Serebryany [Wed, 23 Jan 2013 11:41:33 +0000 (11:41 +0000)]
libsanitizer merge from upstream r173241

From-SVN: r195404

11 years agore PR fortran/56052 ([OOP] ICE in omp_add_variable, at gimplify.c:5606)
Jakub Jelinek [Wed, 23 Jan 2013 08:43:50 +0000 (09:43 +0100)]
re PR fortran/56052 ([OOP] ICE in omp_add_variable, at gimplify.c:5606)

PR fortran/56052
* trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
and DECL_IGNORED_P on select_type_temporary and don't set
DECL_BY_REFERENCE.

* gfortran.dg/gomp/pr56052.f90: New test.

From-SVN: r195399

11 years agore PR target/49069 (ICE in gen_cstoredi4, at config/arm/arm.md:7554)
Jakub Jelinek [Wed, 23 Jan 2013 08:37:16 +0000 (09:37 +0100)]
re PR target/49069 (ICE in gen_cstoredi4, at config/arm/arm.md:7554)

PR target/49069
* config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
instead of cmpdi_operand for first comparison operand.
Don't assert that comparison operands aren't both constants.

* gcc.dg/pr49069.c: New test.

From-SVN: r195398

11 years agoDaily bump.
GCC Administrator [Wed, 23 Jan 2013 00:18:41 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195396

11 years agore PR c++/55944 ([C++11] static local member with constexpr c'tor causes ICE)
Paolo Carlini [Tue, 22 Jan 2013 23:38:34 +0000 (23:38 +0000)]
re PR c++/55944 ([C++11] static local member with constexpr c'tor causes ICE)

/cp
2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55944
* decl.c (check_initializer): Use TARGET_EXPR_DIRECT_INIT_P only
on TARGET_EXPR nodes.

/testsuite
2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55944
* g++.dg/cpp0x/constexpr-static10.C: New.

From-SVN: r195391

11 years ago* testsuite/ChangeLog: Move ChangeLog entries to 2013.
Uros Bizjak [Tue, 22 Jan 2013 22:20:37 +0000 (23:20 +0100)]
* testsuite/ChangeLog: Move ChangeLog entries to 2013.

From-SVN: r195389

11 years agoinstall.texi (Downloading the Source): Update references to downloading separate...
Jonathan Wakely [Tue, 22 Jan 2013 22:14:33 +0000 (22:14 +0000)]
install.texi (Downloading the Source): Update references to downloading separate components.

* doc/install.texi (Downloading the Source): Update references to
downloading separate components.

From-SVN: r195388

11 years ago* doc/extend.texi (__int128): Improve grammar.
Jonathan Wakely [Tue, 22 Jan 2013 21:58:39 +0000 (21:58 +0000)]
* doc/extend.texi (__int128): Improve grammar.

From-SVN: r195387

11 years agore PR target/56028 (Splitting a 64-bit volatile store)
Uros Bizjak [Tue, 22 Jan 2013 20:58:37 +0000 (21:58 +0100)]
re PR target/56028 (Splitting a 64-bit volatile store)

PR target/56028
* config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
alternative to (o,r).
(*movdi_internal_rex64): Remove (!o,n) alternative.
(DImode immediate->memory splitter): Remove.
(DImode immediate->memory peephole2): Remove.
(movtf): Enable for TARGET_64BIT || TARGET_SSE.
(*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
alternative to (!o,*r).
(*movtf_internal_sse): New pattern.
(*movxf_internal_rex64): New pattern.
(*movxf_internal): Disable for TARGET_64BIT.
(*movdf_internal_rex64): Remove (!o,F) alternative.

testsuite/ChangeLog:

2012-01-22  Uros Bizjak  <ubizjak@gmail.com>

PR target/56028
* gcc.target/i386/pr56028.c: New test.

From-SVN: r195386

11 years agoexplicit-hle.cc: Tightten scan-assembler-times regexps...
Jakub Jelinek [Tue, 22 Jan 2013 17:15:47 +0000 (18:15 +0100)]
explicit-hle.cc: Tightten scan-assembler-times regexps...

* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Tightten scan-assembler-times regexps, add dg-additional-options for
ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
dg-options.

From-SVN: r195383

11 years agore PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c)
Jakub Jelinek [Tue, 22 Jan 2013 17:03:33 +0000 (18:03 +0100)]
re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c)

PR middle-end/56074
* dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
* tree-vect-loop-manip.c (find_loop_location): Also ignore
stmt locations where LOCATION_LOCUS of the stmt location is
UNKNOWN_LOCATION or BUILTINS_LOCATION.

From-SVN: r195382

11 years agore PR rtl-optimization/55686 (ICE in assign_by_spills, at lra-assigns.c:1244)
Jakub Jelinek [Tue, 22 Jan 2013 16:41:30 +0000 (17:41 +0100)]
re PR rtl-optimization/55686 (ICE in assign_by_spills, at lra-assigns.c:1244)

PR target/55686
* config/i386/i386.md (UNSPEC_STOS): New.
(strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
*strsetqi_1): Add UNSPEC_STOS.

* gcc.target/i386/pr55686.c: New test.

From-SVN: r195381

11 years agore PR c++/56071 (friend class template cannot access private constructor in exception...
Jason Merrill [Tue, 22 Jan 2013 16:05:04 +0000 (11:05 -0500)]
re PR c++/56071 (friend class template cannot access private constructor in exception-specification)

PR c++/56071
* pt.c (maybe_instantiate_noexcept): Don't defer access checks.

From-SVN: r195378

11 years agore PR c++/56067 (Removal of -Wsynth from doc didn't remove example)
Paolo Carlini [Tue, 22 Jan 2013 15:09:45 +0000 (15:09 +0000)]
re PR c++/56067 (Removal of -Wsynth from doc didn't remove example)

2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56067
* doc/invoke.texi: Remove left over -Wsynth example.

From-SVN: r195375

11 years agore PR libgomp/51376 (libgomp taskwait failure)
Alan Modra [Tue, 22 Jan 2013 11:41:53 +0000 (22:11 +1030)]
re PR libgomp/51376 (libgomp taskwait failure)

PR libgomp/51376
PR libgomp/56073
* task.c (GOMP_task): Revert 2011-12-09 change.
(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
barrier to read task->children..
(gomp_barrier_handle_tasks): ..and matching atomic store with
release barrier here when setting parent->children to NULL.

From-SVN: r195370

11 years agotrans.c (gnat_to_gnu): Do not translate the Etype of the node before translating...
Eric Botcazou [Tue, 22 Jan 2013 10:05:45 +0000 (10:05 +0000)]
trans.c (gnat_to_gnu): Do not translate the Etype of the node before translating the Actions.

* gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
not translate the Etype of the node before translating the Actions.

From-SVN: r195368

11 years agoPR c++/53609 - Wrong variadic template pack expansion in alias template
Dodji Seketeli [Tue, 22 Jan 2013 10:05:05 +0000 (10:05 +0000)]
PR c++/53609 - Wrong variadic template pack expansion in alias template

Consider this example:

     1 template<class...I> struct List {};
     2 template<int T> struct Z {static const int value = T;};
     3 template<int...T> using LZ = List<Z<T>...>;
     4
     5 template<class...U>
     6 struct F
     7 {
     8   using N = LZ<U::value...>; //#1 This should amount to List<Z<U::value>...>
     9 }
    10
    11 F<Z<1>, Z<2> >::N A; //#2

which G++ fails to compile, with this error message:

test-PR53609-3.cc: In instantiation of 'struct F<Z<1>, Z<2> >':
test-PR53609-3.cc:11:15:   required from here
test-PR53609-3.cc:3:43: error: wrong number of template arguments (2, should be 1)
 template<int...T> using LZ = List<Z<T>...>;
                                           ^
test-PR53609-3.cc:2:24: error: provided for 'template<int T> struct Z'
 template<int T> struct Z {static const int value = T;};

I think this is because in #1, when we substitute the argument pack
{U::value...} into the pack expansion Z<T>..., tsubst_pack_expansion
yields Z<U::value...>, instead of Z<U::value>..., so the instantiation
of LZ amounts to List<Z<U::value...> >, instead of
List<Z<U::value>...>.

The idea of this patch is to make tsubst_pack_expansion support
substituting an argument pack (into a pack expansion) where one of the
arguments (let's call it the Ith argument) is itself a pack expansion
P.  In that case, the Ith element resulting from the substituting
should be a pack expansion P'.

The pattern of P' is then the pattern of P into which the pattern of
the Ith argument of the argument pack has been substituted.

Tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

* pt.c (argument_pack_element_is_expansion_p)
(make_argument_pack_select, use_pack_expansion_extra_args_p)
(gen_elem_of_pack_expansion_instantiation): New static functions.
(tsubst): When looking through an ARGUMENT_PACK_SELECT tree node,
look through the possibly resulting pack expansion as well.
(tsubst_pack_expansion): Use use_pack_expansion_extra_p to
generalize when to use the PACK_EXPANSION_EXTRA_ARGS mechanism.
Use gen_elem_of_pack_expansion_instantiation to build the
instantiation piece-wise.  Don't use arg_from_parm_pack_p anymore,
as gen_elem_of_pack_expansion_instantiation and the change in
tsubst above generalize this particular case.
(arg_from_parm_pack_p): Remove this for it's not used by
tsubst_pack_expansion anymore.

gcc/testsuite/

* g++.dg/cpp0x/variadic139.C: New test.
* g++.dg/cpp0x/variadic140.C: Likewise.
* g++.dg/cpp0x/variadic141.C: Likewise.

From-SVN: r195367

11 years agotrans.c (Pragma_to_gnu): Use optimize_size instead of optimize and adjust warning...
Eric Botcazou [Tue, 22 Jan 2013 10:01:08 +0000 (10:01 +0000)]
trans.c (Pragma_to_gnu): Use optimize_size instead of optimize and adjust warning message.

* gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
instead of optimize and adjust warning message.
(Compilation_Unit_to_gnu): Process pragmas preceding the unit.

From-SVN: r195366

11 years agogigi.h (ADT_unhandled_except_decl, [...]): New.
Tristan Gingold [Tue, 22 Jan 2013 09:49:14 +0000 (09:49 +0000)]
gigi.h (ADT_unhandled_except_decl, [...]): New.

* gcc-interface/gigi.h (ADT_unhandled_except_decl,
ADT_unhandled_others_decl): New.
(unhandled_others_decl, unhandled_except_decl): Define.
* gcc-interface/trans.c: Include common/common-target.h.
(gigi): Initialize them.
(Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
function in a try/catch clause.

From-SVN: r195364

11 years agore PR libquadmath/56072 (info page wrongly defines M_PI_2 and M_PI_4)
Jakub Jelinek [Tue, 22 Jan 2013 08:23:32 +0000 (09:23 +0100)]
re PR libquadmath/56072 (info page wrongly defines M_PI_2 and M_PI_4)

PR libquadmath/56072
* libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.

From-SVN: r195360

11 years agore PR c++/56059 (SIGSEGV on invalid C++11 code)
Jason Merrill [Tue, 22 Jan 2013 01:27:19 +0000 (20:27 -0500)]
re PR c++/56059 (SIGSEGV on invalid C++11 code)

PR c++/56059
* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
template args count.

From-SVN: r195355

11 years agoDaily bump.
GCC Administrator [Tue, 22 Jan 2013 00:18:12 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195354

11 years ago* config/i386/i386.md (isa): Switch places of fma and fma4.
Uros Bizjak [Mon, 21 Jan 2013 19:45:05 +0000 (20:45 +0100)]
* config/i386/i386.md (isa): Switch places of fma and fma4.

From-SVN: r195350

11 years agore PR fortran/55919 (Bogus warning with -J directory/)
Thomas Koenig [Mon, 21 Jan 2013 19:34:49 +0000 (19:34 +0000)]
re PR fortran/55919 (Bogus warning with -J directory/)

2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/55919
* scanner.c (add_path_to_list): Copy path to temporary and strip
trailing directory separators before calling stat().

2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/55919
* gfortran.dg/include_8.f90:  New test.

From-SVN: r195348

11 years ago* testsuite/ChangeLog: Fix duplicate entry.
Uros Bizjak [Mon, 21 Jan 2013 18:54:49 +0000 (19:54 +0100)]
* testsuite/ChangeLog: Fix duplicate entry.

From-SVN: r195347

11 years agopr55579.c: Cleanup esra tree dump
Uros Bizjak [Mon, 21 Jan 2013 18:47:19 +0000 (19:47 +0100)]
pr55579.c: Cleanup esra tree dump

* gcc.dg/tree-ssa/pr55579.c: Cleanup esra tree dump
* gfortran.dg/unlimited_polymorphic_8.f90: Cleanup original tree dump.

From-SVN: r195346

11 years agore PR tree-optimization/56051 (Wrong expression evaluation)
Jakub Jelinek [Mon, 21 Jan 2013 17:55:34 +0000 (18:55 +0100)]
re PR tree-optimization/56051 (Wrong expression evaluation)

PR tree-optimization/56051
* fold-const.c (fold_binary_loc): Don't fold
X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
a narrowing conversion, or widening conversion from signed
to unsigned.

* gcc.c-torture/execute/pr56051.c: New test.

From-SVN: r195343

11 years agore PR rtl-optimization/56023 ([alpha] -fcompare-debug failure due to sched1 pass)
Uros Bizjak [Mon, 21 Jan 2013 17:51:23 +0000 (18:51 +0100)]
re PR rtl-optimization/56023 ([alpha] -fcompare-debug failure due to sched1 pass)

PR rtl-optimization/56023
* haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
dependent on debug instruction.

testsuite/ChangeLog:

PR rtl-optimization/56023
* gcc.dg/pr56023.c: New test.

From-SVN: r195342

11 years agore PR middle-end/56022 (ICE (segfault) at convert_memory_address_addr_space (explow...
Martin Jambor [Mon, 21 Jan 2013 17:16:57 +0000 (18:16 +0100)]
re PR middle-end/56022 (ICE (segfault) at convert_memory_address_addr_space (explow.c:334))

2013-01-21  Martin Jambor  <mjambor@suse.cz>

PR middle-end/56022
* function.c (allocate_struct_function): Call
invoke_set_current_function_hook earlier.

testsuite/
* gcc.target/i386/pr56022.c: New test.

From-SVN: r195341

11 years ago* lib/target-supports.exp (check_effective_target_alias): New.
Jason Merrill [Mon, 21 Jan 2013 15:49:21 +0000 (10:49 -0500)]
* lib/target-supports.exp (check_effective_target_alias): New.

From-SVN: r195338

11 years agoreload1.c (init_reload): Only initialize reload_obstack during the first call.
Jakub Jelinek [Mon, 21 Jan 2013 14:55:05 +0000 (15:55 +0100)]
reload1.c (init_reload): Only initialize reload_obstack during the first call.

* reload1.c (init_reload): Only initialize reload_obstack
during the first call.

From-SVN: r195335

11 years agoFix up English grammar
Marek Polacek [Mon, 21 Jan 2013 13:14:17 +0000 (13:14 +0000)]
Fix up English grammar

From-SVN: r195334

11 years agomarvell-pj4.md (pj4_shift_conds, [...]): Handle simple_alu_shift.
Yi-Hsiu Hsu [Mon, 21 Jan 2013 10:55:15 +0000 (10:55 +0000)]
marvell-pj4.md (pj4_shift_conds, [...]): Handle simple_alu_shift.

2013-01-21  Yi-Hsiu Hsu  <ahsu@marvell.com>

* config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.

From-SVN: r195333

11 years agoFix up wrong marvell-pj4.md file committed earlier and update copyright year.
Ramana Radhakrishnan [Mon, 21 Jan 2013 10:45:05 +0000 (10:45 +0000)]
Fix up wrong marvell-pj4.md file committed earlier and update copyright year.

2013-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/56058
* config/arm/marvell-pj4.md: Update copyright year.
Fix up use of alu to alu_reg and simple_alu_imm.

From-SVN: r195332

11 years agoi386.md (enabled): Do not disable fma4 for TARGET_FMA.
Uros Bizjak [Mon, 21 Jan 2013 10:33:55 +0000 (11:33 +0100)]
i386.md (enabled): Do not disable fma4 for TARGET_FMA.

* config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.

From-SVN: r195331

11 years agoFix PR number in ChangeLog
Andi Kleen [Mon, 21 Jan 2013 01:24:10 +0000 (01:24 +0000)]
Fix PR number in ChangeLog

From-SVN: r195330

11 years agoDaily bump.
GCC Administrator [Mon, 21 Jan 2013 00:19:08 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r195329

11 years agore PR debug/53235 (20120504 broke -fdebug-types-section)
Jack Howarth [Sun, 20 Jan 2013 20:35:48 +0000 (20:35 +0000)]
re PR debug/53235 (20120504 broke -fdebug-types-section)

2013-01-20  Jack Howarth <howarth@bromo.med.uc.edu>

    PR debug/53235
    * g++.dg/debug/dwarf2/nested-4.C: XFAIL on darwin.

From-SVN: r195326

11 years agoCheck in missing file for:
Yi-Hsiu Hsu [Sun, 20 Jan 2013 20:35:23 +0000 (20:35 +0000)]
Check in missing file for:

Add support for Marvell's PJ4 CPU

2013-01-18  Yi-Hsiu Hsu  <ahsu@marvell.com>
            Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/marvell-pj4.md: New file.

From-SVN: r195325

11 years ago* gfortran.dg/inquire_10.f90: Run only for non-newlib targets.
Hans-Peter Nilsson [Sun, 20 Jan 2013 19:47:35 +0000 (19:47 +0000)]
* gfortran.dg/inquire_10.f90: Run only for non-newlib targets.

From-SVN: r195324

11 years agore PR target/55433 ([LRA] ICE on excessive reloads)
Vladimir Makarov [Sun, 20 Jan 2013 19:09:58 +0000 (19:09 +0000)]
re PR target/55433 ([LRA] ICE on excessive reloads)

2013-01-20  Vladimir Makarov  <vmakarov@redhat.com>

PR target/55433
* lra-constraints.c (curr_insn_transform): Don't reuse original
insn for secondary memory move when memory mode should be
different.

From-SVN: r195322

11 years agolibstdc++: Add mem_order_hle_acquire/release to atomic.h v2
Andi Kleen [Sun, 20 Jan 2013 19:03:22 +0000 (19:03 +0000)]
libstdc++: Add mem_order_hle_acquire/release to atomic.h v2

The underlying compiler supports additional __ATOMIC_HLE_ACQUIRE/RELEASE
memmodel flags for TSX, but this was not exposed to the C++ wrapper.
Handle it there.

These are additional flags, so some of assert checks need to mask
off the flags before checking the memory model type.

libstdc++-v3/:
2013-01-12  Andi Kleen  <ak@linux.intel.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

        PR libstdc++/55223
* include/bits/atomic_base.h (__memory_order_modifier): Add
__memory_order_mask, __memory_order_modifier_mask,
__memory_order_hle_acquire, __memory_order_hle_release.
(operator|,operator&): Add.
(__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
(__cmpexch_failure_order): Add.
(clear, store, load, compare_exchange_weak, compare_exchange_strong):
Handle flags.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Add.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r195321

11 years agopa.md (atomic_loaddi, [...]): New patterns.
John David Anglin [Sun, 20 Jan 2013 14:40:16 +0000 (14:40 +0000)]
pa.md (atomic_loaddi, [...]): New patterns.

* config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
atomic_storedi_1): New patterns.

From-SVN: r195320