Jason Merrill [Fri, 6 Nov 2009 21:18:35 +0000 (16:18 -0500)]
re PR c++/9381 (attribute on member function pointer have no effect)
PR c++/9381
* decl2.c (build_memfn_type): Preserve attributes.
(cp_reconstruct_complex_type): Likewise.
(maybe_retrofit_in_chrg): Likewise.
* call.c (standard_conversion): Use build_memfn_type.
* pt.c (tsubst): Likewise.
* decl.c (build_ptrmem_type): Likewise
(check_function_type): Preserve attributes.
* tree.c (cp_build_type_attribute_variant): Propagate exception
specs on METHOD_TYPE, too.
(strip_typedefs): Preserve exception specs and attributes.
From-SVN: r153977
Basile Starynkevitch [Fri, 6 Nov 2009 19:20:39 +0000 (19:20 +0000)]
plugins.texi (Plugin callbacks): added PLUGIN_PRAGMAS.
2009-11-06 Basile Starynkevitch <basile@starynkevitch.net>
* doc/plugins.texi (Plugin callbacks): added PLUGIN_PRAGMAS.
* c-pragma.c: Include "plugin.h".
(init_pragma): Invoke PLUGIN_PRAGMAS.
* gcc-plugin.h: Added PLUGIN_PRAGMAS.
* plugin.c (plugin_event_name): Added PLUGIN_PRAGMAS & the missing
PLUGIN_ATTRIBUTES.
(register_callback): Added PLUGIN_PRAGMAS. Fixed typo in message
error for unknown callback event.
(invoke_plugin_callbacks): Added PLUGIN_PRAGMAS.
* Makefile.in (c-pragma.o): Added dependency upon plugin.h.
(PLUGIN_HEADERS): added plugin.h.
2009-11-06 Basile Starynkevitch <basile@starynkevitch.net>
* g++.dg/plugin/pragma_plugin-test-1.C: new testcase for
PLUGIN_PRAGMAS.
* g++.dg/plugin/pragma_plugin.c: new test plugin for
PLUGIN_PRAGMAS.
* g++.dg/plugin/plugin.exp (plugin_test_list): Add pragma_plugin.c and
pragma_plugin-test-1.C.
From-SVN: r153975
Andrew Pinski [Fri, 6 Nov 2009 19:10:07 +0000 (19:10 +0000)]
re PR c++/41536 (always_inline does not work always with constructors)
2009-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c++/41536
* optimize.c (maybe_clone_body): Copy DECL_ATTRIBUTES and
DECL_DISREGARD_INLINE_LIMITS also.
2009-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c++/41536
* g++.dg/ext/always_inline-5.C: New test.
From-SVN: r153974
Jakub Jelinek [Fri, 6 Nov 2009 17:51:20 +0000 (18:51 +0100)]
re PR c++/41967 (gcc get into endless loop when compiling an openmp program)
PR c++/41967
* parser.c (cp_parser_omp_for_loop): After diagnosing not perfectly
nested loop and parsing statements, don't cp_parser_require }, instead
exit the loop if next token is CPP_EOF.
* g++.dg/gomp/pr41967.C: New test.
From-SVN: r153972
Michael Matz [Fri, 6 Nov 2009 15:05:20 +0000 (15:05 +0000)]
re PR middle-end/41963 (177.mesa in SPEC CPU 2K is miscompiled)
PR middle-end/41963
* tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses
of a potential reciprocal to really be reciprocals.
testsuite/
* gcc.dg/pr41963.c: New test.
From-SVN: r153971
Jonas Maebe [Fri, 6 Nov 2009 14:36:57 +0000 (15:36 +0100)]
Checking this in for: Jonas Maebe <jonas.maebe@elis.ugent.be>
Add DWARF attribute value for the "Borland fastcall" calling
convention.
* elf/dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.
From-SVN: r153970
Paolo Carlini [Fri, 6 Nov 2009 11:39:35 +0000 (11:39 +0000)]
multiway_merge.h: Simple formatting and uglification fixes.
2009-11-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/parallel/multiway_merge.h: Simple formatting and
uglification fixes.
* include/parallel/find_selectors.h: Likewise.
* include/parallel/losertree.h: Likewise.
* include/parallel/list_partition.h: Likewise.
* include/parallel/for_each.h: Likewise.
* include/parallel/multiseq_selection.h: Likewise.
* include/parallel/workstealing.h: Likewise.
* include/parallel/par_loop.h: Likewise.
* include/parallel/numeric: Likewise.
* include/parallel/quicksort.h: Likewise.
* include/parallel/equally_split.h: Likewise.
* include/parallel/omp_loop_static.h: Likewise.
* include/parallel/random_shuffle.h: Likewise.
* include/parallel/balanced_quicksort.h: Likewise.
* include/parallel/tags.h: Likewise.
* include/parallel/set_operations.h: Likewise.
* include/parallel/merge.h: Likewise.
* include/parallel/unique_copy.h: Likewise.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/search.h: Likewise.
* include/parallel/partition.h: Likewise.
* include/parallel/partial_sum.h: Likewise.
* include/parallel/find.h: Likewise.
* include/parallel/queue.h: Likewise.
* include/parallel/omp_loop.h: Likewise.
* include/parallel/checkers.h: Likewise.
* include/parallel/sort.h: Likewise.
From-SVN: r153966
Jakub Jelinek [Fri, 6 Nov 2009 10:33:33 +0000 (11:33 +0100)]
x86intrin.h: Include fma4intrin.h, xopintrin.h and lwpintrin.h after immintrin.h.
* config/i386/x86intrin.h: Include fma4intrin.h, xopintrin.h and
lwpintrin.h after immintrin.h.
* config/i386/fma4intrin.h (__v8sf, __v4df, __m256, __m256d): Remove
typedefs.
From-SVN: r153965
Ozkan Sezer [Fri, 6 Nov 2009 10:16:30 +0000 (10:16 +0000)]
configure.ac (FLAGS_FOR_TARGET): Add -L and -isystem paths for *-w64-mingw* and x86_64-*mingw*.
2009-11-06 Ozkan Sezer <sezeroz@gmail.com>
* configure.ac (FLAGS_FOR_TARGET): Add -L and -isystem
paths for *-w64-mingw* and x86_64-*mingw*.
* configure: Regenerated.
From-SVN: r153964
Jakub Jelinek [Fri, 6 Nov 2009 08:46:45 +0000 (09:46 +0100)]
re PR c/41935 (ICE : tree check: expected integer_cst, have nop_expr in int_cst_value, at tree.c:8301)
PR middle-end/41935
* c-common.c (fold_offsetof_1) <case ARRAY_REF>: Don't crash for VLAs
or non-constant index, allow index one past the last element and
allow exceeding array bound in arrays that might be used as flexible
array members.
* gcc.dg/pr41935.c: New test.
* c-c++-common/pr41935.c: New test.
* c-c++-common/builtin-offsetof.c (f0): Allow index one past the last
element.
* gcc.c-torture/execute/pr41935.c: New test.
From-SVN: r153962
Jonathan Wakely [Fri, 6 Nov 2009 08:38:02 +0000 (08:38 +0000)]
re PR libstdc++/41949 (std::endl documentation contains bad link)
2009-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/41949
* include/std/ostream: Adjust link.
From-SVN: r153961
Jason Merrill [Fri, 6 Nov 2009 04:32:13 +0000 (23:32 -0500)]
re PR c++/34180 (Default copy constructor copies const auto_ptr members)
PR c++/34180
* method.c (do_build_copy_constructor): Don't drop cv-quals from
the field type.
From-SVN: r153960
Jason Merrill [Fri, 6 Nov 2009 03:33:17 +0000 (22:33 -0500)]
re PR c++/7046 (#pragma pack(1) context evaluated at point of instantiation rather than declaration)
PR c++/7046
* class.c (finish_struct): Store maximum_field_alignment in
TYPE_PRECISION.
* pt.c (instantiate_class_template): Set maximum_field_alignment.
From-SVN: r153959
Jason Merrill [Fri, 6 Nov 2009 03:33:06 +0000 (22:33 -0500)]
re PR c++/34870 (argument-dependent lookup fails to find friend declaration)
PR c++/34870
* name-lookup.c (arg_assoc_class): Call complete_type.
* pt.c (instantiate_class_template): Call uses_template_parms
instead of dependent_type_p.
From-SVN: r153958
Jason Merrill [Fri, 6 Nov 2009 03:32:55 +0000 (22:32 -0500)]
re PR c++/41703 (Problems with SFINAE. Source works at gcc 3.4.6 but fails at 4.2.1 and 4.5.0.
20091008)
PR c++/41703
* pt.c (check_undeduced_parms): New subroutine of...
(more_specialized_fn): ...here. Undeduced template parms can make
a template less specialized than another.
From-SVN: r153957
GCC Administrator [Fri, 6 Nov 2009 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r153956
Richard Henderson [Thu, 5 Nov 2009 23:27:52 +0000 (15:27 -0800)]
* config/i386/ia32intrin.h: Protect CRC32 builtins with __SSE4_2__.
From-SVN: r153953
Steven G. Kargl [Thu, 5 Nov 2009 20:57:12 +0000 (20:57 +0000)]
re PR fortran/41918 (Superflous warning "was declared INTENT(OUT) but was not set")
2009-11-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41918
* fortran/trans-decl.c: Silence intent(out) warning for derived type
dummy arguments with default initialization.
From-SVN: r153952
Eric Botcazou [Thu, 5 Nov 2009 18:26:21 +0000 (18:26 +0000)]
* gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
From-SVN: r153949
Eric Botcazou [Thu, 5 Nov 2009 18:25:10 +0000 (18:25 +0000)]
trans.c (lvalue_required_p): New case.
* gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
New case.
From-SVN: r153948
Janus Weil [Thu, 5 Nov 2009 15:31:07 +0000 (16:31 +0100)]
re PR fortran/41556 ([OOP] Errors in applying operator/assignment to an abstract type)
2009-11-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/41556
* interface.c (matching_typebound_op,gfc_extend_assign): Handle CLASS
variables.
2009-11-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/41556
* gfortran.dg/class_12.f03: New test.
From-SVN: r153946
Jakub Jelinek [Thu, 5 Nov 2009 14:54:19 +0000 (15:54 +0100)]
i386.exp (check_effective_target_xop): Fix typo in builtin's name.
* gcc.target/i386/i386.exp (check_effective_target_xop): Fix typo
in builtin's name.
From-SVN: r153943
Paul Brook [Thu, 5 Nov 2009 14:47:45 +0000 (14:47 +0000)]
arm.c (arm_fp_model, [...]): Remove.
2009-11-05 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_fp_model, arm_fpu_arch, arm_fpu_tune): Remove.
(arm_fpu_desc): New.
(all_fpus): Add FPU details.
(fp_model_for_fpu): Remove.
(arm_override_options): Set and use arm_fpu_desc and arm_fpu_attr.
(arm_output_epilogue, arm_save_coproc_regs): Use TARGET_FPA_EMU2.
(arm_file_start): Use arm_fpu_desc.
* config/arm/arm.h (TARGET_FPA, TARGET_MAVERICK, TARGET_VFP,
TARGET_VFPD32, TARGET_VFP3, TARGET_NEON_FP16, TARGET_NEON): Use
arm_fpu_desc.
(TARGET_FPA_EMU2): Define.
(arm_fp_model, fputype, arm_fpu_tune): Remove.
(vfp_reg_type, arm_fpu_desc): New.
* config/arm/arm.md (attr fpu): Simplify.
* config/arm/fpa.md (movxf_fpa): Use TARGET_FPA_EMU2.
* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Use string value.
* config/arm/bpabi.h (FPUTYPE_DEFAULT): Use string value.
* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Use string value.
* config/arm/vxworks.h (FPUTYPE_DEFAULT): Use string value.
From-SVN: r153942
Michael Matz [Thu, 5 Nov 2009 14:11:26 +0000 (14:11 +0000)]
i386.c (ix86_builtin_reciprocal): Remove dependency on TARGET_RECIP.
* config/i386/i386.c (ix86_builtin_reciprocal): Remove dependency
on TARGET_RECIP.
* doc/invoke.texi (-mrecip): Clarify that we don't need -mrecip
for 1/sqrtf.
From-SVN: r153940
Paolo Carlini [Thu, 5 Nov 2009 14:06:13 +0000 (14:06 +0000)]
multiway_merge.h: Simple formatting and uglification fixes.
2009-11-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/parallel/multiway_merge.h: Simple formatting and
uglification fixes.
* include/parallel/losertree.h: Likewise.
* include/parallel/base.h: Likewise.
* include/parallel/par_loop.h: Likewise.
* include/parallel/omp_loop_static.h: Likewise.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/partial_sum.h: Likewise.
* include/parallel/omp_loop.h: Likewise.
From-SVN: r153939
Rafael Avila de Espindola [Thu, 5 Nov 2009 13:59:54 +0000 (13:59 +0000)]
lto-plugin.c (temp_obj_dir_name): Remove.
2009-11-05 Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (temp_obj_dir_name): Remove.
(arguments_file_name): New.
(free_2): Free arguments_file_name instead of temp_obj_dir_name.
(exec_lto_wrapper): Create arguments file with make_temp_file.
(cleanup_handler): Don't remove the temporary directory. Remove the
arguments file.
(onload): Don't create the temporary directory.
From-SVN: r153938
Joern Rennecke [Thu, 5 Nov 2009 13:41:46 +0000 (13:41 +0000)]
* MAINTAINERS (Write After Approval): Add entry for my INRIA work.
From-SVN: r153937
Jason Merrill [Thu, 5 Nov 2009 13:11:42 +0000 (08:11 -0500)]
re PR c++/36912 (ICE with "-frounding-math -g")
PR c++/36912
* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
(output_constant): Avoid crash after error.
From-SVN: r153936
Martin Jambor [Thu, 5 Nov 2009 12:09:08 +0000 (13:09 +0100)]
tree-sra.c (struct access): Changed comment of next_sibling field.
2009-11-04 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (struct access): Changed comment of next_sibling field.
(analyze_modified_params): Loop over accesses of a group rather than
over all with the ame base, pass a common bitmap to
walk_aliased_vdefs.
(unmodified_by_ref_scalar_representative): Build link lists of
accesses of a group.
(splice_param_accesses): Likewise.
From-SVN: r153935
Janus Weil [Thu, 5 Nov 2009 10:42:48 +0000 (11:42 +0100)]
re PR fortran/41556 ([OOP] Errors in applying operator/assignment to an abstract type)
2009-11-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/41556
PR fortran/41873
* resolve.c (resolve_function,resolve_call): Prevent abstract interfaces
from being called, but allow deferred type-bound procedures with
abstract interface.
2009-11-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/41556
PR fortran/41873
* gfortran.dg/interface_abstract_4.f90: New test.
From-SVN: r153934
Maxim Kuvyrkov [Thu, 5 Nov 2009 10:22:27 +0000 (10:22 +0000)]
* gcc.target/m68k/pr41302.c: Fix target triplet.
From-SVN: r153933
Benjamin Kosnik [Thu, 5 Nov 2009 02:55:08 +0000 (02:55 +0000)]
009-11-04 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/25_algorithms/fill/5.cc: Move...
* testsuite/25_algorithms/fill_n/1.cc: ...here.
From-SVN: r153929
GCC Administrator [Thu, 5 Nov 2009 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r153928
Kenneth Zadeck [Wed, 4 Nov 2009 23:17:54 +0000 (23:17 +0000)]
df-scan.c (df-uses-record): Add case zero_extract of mem.
2009-11-04 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-scan.c (df-uses-record): Add case zero_extract of mem.
From-SVN: r153924
Jason Merrill [Wed, 4 Nov 2009 23:14:56 +0000 (18:14 -0500)]
Revert untested varasm.c change
From-SVN: r153923
Jason Merrill [Wed, 4 Nov 2009 23:14:14 +0000 (18:14 -0500)]
fix
From-SVN: r153922
Jason Merrill [Wed, 4 Nov 2009 23:13:23 +0000 (18:13 -0500)]
re PR c++/36912 (ICE with "-frounding-math -g")
PR c++/36912
* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
(output_constant): Avoid crash after error.
From-SVN: r153921
Jason Merrill [Wed, 4 Nov 2009 22:29:35 +0000 (17:29 -0500)]
re PR c++/39413 (static_assert and SFINAE)
PR c++/39413
* search.c (lookup_base): Don't complete_type (base).
From-SVN: r153920
Eric Botcazou [Wed, 4 Nov 2009 21:50:31 +0000 (21:50 +0000)]
Fix nit
From-SVN: r153919
Eric Botcazou [Wed, 4 Nov 2009 21:45:54 +0000 (21:45 +0000)]
re PR target/10127 (-fstack-check let's program crash)
PR target/10127
PR ada/20548
* config/i386/i386.md (probe_stack_range): New expander.
(logical operation peepholes): Do not split stack checking probes.
From-SVN: r153918
Harsha Jagasia [Wed, 4 Nov 2009 21:15:42 +0000 (21:15 +0000)]
invoke.texi (-mlwp): Add documentation.
2009-11-04 Harsha Jagasia <harsha.jagasia@amd.com>
Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* doc/invoke.texi (-mlwp): Add documentation.
* doc/extend.texi (x86 intrinsics): Add LWP intrinsics.
* config.gcc (i[34567]86-*-*): Include lwpintrin.h.
(x86_64-*-*): Ditto.
* config/i386/lwpintrin.h: New file, provide x86 compiler
intrinisics for LWP.
* config/i386/cpuid.h (bit_LWP): Define LWP bit.
* config/i386/x86intrin.h: Add LWP check and lwpintrin.h.
* config/i386/i386-c.c (ix86_target_macros_internal): Check
ISA_FLAG for LWP.
* config/i386/i386.h (TARGET_LWP): New macro for LWP.
* config/i386/i386.opt (-mlwp): New switch for LWP support.
* config/i386/i386.c (OPTION_MASK_ISA_LWP_SET): New.
(OPTION_MASK_ISA_LWP_UNSET): New.
(ix86_handle_option): Handle -mlwp.
(isa_opts): Handle -mlwp.
(enum pta_flags): Add PTA_LWP.
(override_options): Add LWP support.
(IX86_BUILTIN_LLWPCB16): New for LWP intrinsic.
(IX86_BUILTIN_LLWPCB32): Ditto.
(IX86_BUILTIN_LLWPCB64): Ditto.
(IX86_BUILTIN_SLWPCB16): Ditto.
(IX86_BUILTIN_SLWPCB32): Ditto.
(IX86_BUILTIN_SLWPCB64): Ditto.
(IX86_BUILTIN_LWPVAL16): Ditto.
(IX86_BUILTIN_LWPVAL32): Ditto.
(IX86_BUILTIN_LWPVAL64): Ditto.
(IX86_BUILTIN_LWPINS16): Ditto.
(IX86_BUILTIN_LWPINS32): Ditto.
(IX86_BUILTIN_LWPINS64): Ditto.
(enum ix86_special_builtin_type): Add LWP intrinsic support.
(builtin_description): Ditto.
(ix86_init_mmx_sse_builtins): Ditto.
(ix86_expand_special_args_builtin): Ditto.
* config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC
for LWP support.
(UNSPEC_SLWP_INTRINSIC): Ditto.
(UNSPECV_LWPVAL_INTRINSIC): Ditto.
(UNSPECV_LWPINS_INTRINSIC): Ditto.
(lwp_llwpcbhi1): New lwp pattern.
(lwp_llwpcbsi1): Ditto.
(lwp_llwpcbdi1): Ditto.
(lwp_slwpcbhi1): Ditto.
(lwp_slwpcbsi1): Ditto.
(lwp_slwpcbdi1): Ditto.
(lwp_lwpvalhi3): Ditto.
(lwp_lwpvalsi3): Ditto.
(lwp_lwpvaldi3): Ditto.
(lwp_lwpinshi3): Ditto.
(lwp_lwpinssi3): Ditto.
(lwp_lwpinsdi3): Ditto.
Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
From-SVN: r153917
Janus Weil [Wed, 4 Nov 2009 19:41:07 +0000 (20:41 +0100)]
[multiple changes]
2009-11-04 Tobias Burnus <burnus@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/41556
PR fortran/41937
* interface.c (gfc_check_operator_interface): Handle CLASS arguments.
* resolve.c (resolve_allocate_expr): Handle allocatable components of
CLASS variables.
2009-11-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/41556
PR fortran/41937
* gfortran.dg/class_11.f03: New test.
From-SVN: r153911
Jason Merrill [Wed, 4 Nov 2009 19:36:34 +0000 (14:36 -0500)]
correct PR number
From-SVN: r153910
Jason Merrill [Wed, 4 Nov 2009 19:34:25 +0000 (14:34 -0500)]
re PR c++/15882 (Check for return type of overloaded operator new too early)
PR c++/15882
* method.c (use_thunk): Check DECL_WEAK as well as
DECL_ONE_ONLY.
From-SVN: r153909
Paolo Carlini [Wed, 4 Nov 2009 18:48:21 +0000 (18:48 +0000)]
multiway_merge.h: Simple formatting and uglification fixes.
2009-11-04 Paolo Carlini <paolo.carlini@oracle.com>
* include/parallel/multiway_merge.h: Simple formatting and
uglification fixes.
* include/parallel/losertree.h: Likewise.
From-SVN: r153907
Andrew Pinski [Wed, 4 Nov 2009 18:35:57 +0000 (18:35 +0000)]
re PR rtl-optimization/41833 (vec_splat followed by vec_splat could be improved)
2009-11-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
PR rtl-opt/41833
* simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of
a vec_duplicate.
2009-11-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/41833
* gcc.target/powerpc/altivec-33.c: New testcase.
Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
From-SVN: r153906
Jason Merrill [Wed, 4 Nov 2009 18:13:57 +0000 (13:13 -0500)]
PR c++/17365, DR 218
PR c++/17365, DR 218
* name-lookup.c (add_function): Ignore non-functions.
From-SVN: r153905
Richard Guenther [Wed, 4 Nov 2009 17:24:37 +0000 (17:24 +0000)]
gcc.c (process_command): Handle arguments name@offset.
2009-11-04 Richard Guenther <rguenther@suse.de>
Rafael Avila de Espindola <espindola@google.com>
* gcc.c (process_command): Handle arguments name@offset.
2009-11-04 Richard Guenther <rguenther@suse.de>
Rafael Avila de Espindola <espindola@google.com>
* lto-elf.c (lto_elf_build_section_table): Add the base offset.
(lto_elf_file_open): Handle offsets in arguments name@offest.
2009-11-04 Richard Guenther <rguenther@suse.de>
Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (plugin_file_info): Remove temp field.
(cleanup_handler): Don't delete temporary objects.
(claim_file_handler): Don't create temporary objects.
Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
From-SVN: r153903
Harsha Jagasia [Wed, 4 Nov 2009 16:22:47 +0000 (16:22 +0000)]
config.gcc (i[34567]86-*-*): Include xopintrin.h.
2009-11-04 Harsha Jagasia <harsha.jagasia@amd.com>
Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* config.gcc (i[34567]86-*-*): Include xopintrin.h.
(x86_64-*-*): Ditto.
* config/i386/xopintrin.h: New file, provide common x86 compiler
intrinisics for XOP.
* config/i386/cpuid.h (bit_XOP): Define XOP bit.
* config/i386/x86intrin.h: Add XOP check and xopintrin.h.
* config/i386/i386-c.c(ix86_target_macros_internal): Check
ISA_FLAG for XOP.
* config/i386/i386.h(TARGET_XOP): New macro for XOP.
* config/i386/i386.opt (-mxop): New switch for XOP support.
* config/i386/i386.md (UNSPEC_XOP_UNSIGNED_CMP)
(UNSPEC_XOP_TRUEFALSE)
(UNSPEC_XOP_PERMUTE)
(UNSPEC_FRCZ): Add new UNSPEC for XOP support.
(PPERM_*): New constants for vpperm instruction.
(xop_pcmov_<mode>): Add XOP conditional mov instructions.
* config/i386/i386.c (OPTION_MASK_ISA_XOP_SET): New.
(OPTION_MASK_ISA_XOP_UNSET): New.
(OPTION_MASK_ISA_XOP_UNSET): Change definition to
depend on XOP.
(ix86_handle_option): Handle -mxop.
(isa_opts): Handle -mxop.
(enum pta_flags): Add PTA_XOP.
(override_options): Add XOP support.
(print_operand): Add code for XOP compare instructions.
(ix86_expand_sse_movcc): Extend for XOP conditional move
instruction.
(ix86_expand_int_vcond): Extend for XOP compare instruction.
(IX86_BUILTIN_VPCMOV): New for XOP intrinsic.
(IX86_BUILTIN_VPCMOV_V2DI): Ditto.
(IX86_BUILTIN_VPCMOV_V4SI): Ditto.
(IX86_BUILTIN_VPCMOV_V8HI): Ditto.
(IX86_BUILTIN_VPCMOV_V16QI): Ditto.
(IX86_BUILTIN_VPCMOV_V4SF): Ditto.
(IX86_BUILTIN_VPCMOV_V2DF): Ditto.
(IX86_BUILTIN_VPCMOV256): Ditto.
(IX86_BUILTIN_VPCMOV_V4DI256): Ditto.
(IX86_BUILTIN_VPCMOV_V8SI256): Ditto.
(IX86_BUILTIN_VPCMOV_V16HI256): Ditto.
(IX86_BUILTIN_VPCMOV_V32QI256): Ditto.
(IX86_BUILTIN_VPCMOV_V8SF256): Ditto.
(IX86_BUILTIN_VPCMOV_V4DF256): Ditto.
(IX86_BUILTIN_VPPERM): Ditto.
(IX86_BUILTIN_VPMACSSWW): Ditto.
(IX86_BUILTIN_VPMACSWW): Ditto.
(IX86_BUILTIN_VPMACSSWD): Ditto.
(IX86_BUILTIN_VPMACSWD): Ditto.
(IX86_BUILTIN_VPMACSSDD): Ditto.
(IX86_BUILTIN_VPMACSDD): Ditto.
(IX86_BUILTIN_VPMACSSDQL): Ditto.
(IX86_BUILTIN_VPMACSSDQH): Ditto.
(IX86_BUILTIN_VPMACSDQL): Ditto.
(IX86_BUILTIN_VPMACSDQH): Ditto.
(IX86_BUILTIN_VPMADCSSWD): Ditto.
(IX86_BUILTIN_VPMADCSWD): Ditto.
(IX86_BUILTIN_VPHADDBW): Ditto.
(IX86_BUILTIN_VPHADDBD): Ditto.
(IX86_BUILTIN_VPHADDBQ): Ditto.
(IX86_BUILTIN_VPHADDWD): Ditto.
(IX86_BUILTIN_VPHADDWQ): Ditto.
(IX86_BUILTIN_VPHADDDQ): Ditto.
(IX86_BUILTIN_VPHADDUBW): Ditto.
(IX86_BUILTIN_VPHADDUBD): Ditto.
(IX86_BUILTIN_VPHADDUBQ): Ditto.
(IX86_BUILTIN_VPHADDUWD): Ditto.
(IX86_BUILTIN_VPHADDUWQ): Ditto.
(IX86_BUILTIN_VPHADDUDQ): Ditto.
(IX86_BUILTIN_VPHSUBBW): Ditto.
(IX86_BUILTIN_VPHSUBWD): Ditto.
(IX86_BUILTIN_VPHSUBDQ): Ditto.
(IX86_BUILTIN_VPROTB): Ditto.
(IX86_BUILTIN_VPROTW): Ditto.
(IX86_BUILTIN_VPROTD): Ditto.
(IX86_BUILTIN_VPROTQ): Ditto.
(IX86_BUILTIN_VPROTB_IMM): Ditto.
(IX86_BUILTIN_VPROTW_IMM): Ditto.
(IX86_BUILTIN_VPROTD_IMM): Ditto.
(IX86_BUILTIN_VPROTQ_IMM): Ditto.
(IX86_BUILTIN_VPSHLB): Ditto.
(IX86_BUILTIN_VPSHLW): Ditto.
(IX86_BUILTIN_VPSHLD): Ditto.
(IX86_BUILTIN_VPSHLQ): Ditto.
(IX86_BUILTIN_VPSHAB): Ditto.
(IX86_BUILTIN_VPSHAW): Ditto.
(IX86_BUILTIN_VPSHAD): Ditto.
(IX86_BUILTIN_VPSHAQ): Ditto.
(IX86_BUILTIN_VFRCZSS): Ditto.
(IX86_BUILTIN_VFRCZSD): Ditto.
(IX86_BUILTIN_VFRCZPS): Ditto.
(IX86_BUILTIN_VFRCZPD): Ditto.
(IX86_BUILTIN_VFRCZPS256): Ditto.
(IX86_BUILTIN_VFRCZPD256): Ditto.
(IX86_BUILTIN_VPCOMEQUB): Ditto.
(IX86_BUILTIN_VPCOMNEUB): Ditto.
(IX86_BUILTIN_VPCOMLTUB): Ditto.
(IX86_BUILTIN_VPCOMLEUB): Ditto.
(IX86_BUILTIN_VPCOMGTUB): Ditto.
(IX86_BUILTIN_VPCOMGEUB): Ditto.
(IX86_BUILTIN_VPCOMFALSEUB): Ditto.
(IX86_BUILTIN_VPCOMTRUEUB): Ditto.
(IX86_BUILTIN_VPCOMEQUW): Ditto.
(IX86_BUILTIN_VPCOMNEUW): Ditto.
(IX86_BUILTIN_VPCOMLTUW): Ditto.
(IX86_BUILTIN_VPCOMLEUW): Ditto.
(IX86_BUILTIN_VPCOMGTUW): Ditto.
(IX86_BUILTIN_VPCOMGEUW): Ditto.
(IX86_BUILTIN_VPCOMFALSEUW): Ditto.
(IX86_BUILTIN_VPCOMTRUEUW): Ditto.
(IX86_BUILTIN_VPCOMEQUD): Ditto.
(IX86_BUILTIN_VPCOMNEUD): Ditto.
(IX86_BUILTIN_VPCOMLTUD): Ditto.
(IX86_BUILTIN_VPCOMLEUD): Ditto.
(IX86_BUILTIN_VPCOMGTUD): Ditto.
(IX86_BUILTIN_VPCOMGEUD): Ditto.
(IX86_BUILTIN_VPCOMFALSEUD): Ditto.
(IX86_BUILTIN_VPCOMTRUEUD): Ditto.
(IX86_BUILTIN_VPCOMEQUQ): Ditto.
(IX86_BUILTIN_VPCOMNEUQ): Ditto.
(IX86_BUILTIN_VPCOMLTUQ): Ditto.
(IX86_BUILTIN_VPCOMLEUQ): Ditto.
(IX86_BUILTIN_VPCOMGTUQ): Ditto.
(IX86_BUILTIN_VPCOMGEUQ): Ditto.
(IX86_BUILTIN_VPCOMFALSEUQ): Ditto.
(IX86_BUILTIN_VPCOMTRUEUQ): Ditto.
(IX86_BUILTIN_VPCOMEQB): Ditto.
(IX86_BUILTIN_VPCOMNEB): Ditto.
(IX86_BUILTIN_VPCOMLTB): Ditto.
(IX86_BUILTIN_VPCOMLEB): Ditto.
(IX86_BUILTIN_VPCOMGTB): Ditto.
(IX86_BUILTIN_VPCOMGEB): Ditto.
(IX86_BUILTIN_VPCOMFALSEB): Ditto.
(IX86_BUILTIN_VPCOMTRUEB): Ditto.
(IX86_BUILTIN_VPCOMEQW): Ditto.
(IX86_BUILTIN_VPCOMNEW): Ditto.
(IX86_BUILTIN_VPCOMLTW): Ditto.
(IX86_BUILTIN_VPCOMLEW): Ditto.
(IX86_BUILTIN_VPCOMGTW): Ditto.
(IX86_BUILTIN_VPCOMGEW): Ditto.
(IX86_BUILTIN_VPCOMFALSEW): Ditto.
(IX86_BUILTIN_VPCOMTRUEW): Ditto.
(IX86_BUILTIN_VPCOMEQD): Ditto.
(IX86_BUILTIN_VPCOMNED): Ditto.
(IX86_BUILTIN_VPCOMLTD): Ditto.
(IX86_BUILTIN_VPCOMLED): Ditto.
(IX86_BUILTIN_VPCOMGTD): Ditto.
(IX86_BUILTIN_VPCOMGED): Ditto.
(IX86_BUILTIN_VPCOMFALSED): Ditto.
(IX86_BUILTIN_VPCOMTRUED): Ditto.
(IX86_BUILTIN_VPCOMEQQ): Ditto.
(IX86_BUILTIN_VPCOMNEQ): Ditto.
(IX86_BUILTIN_VPCOMLTQ): Ditto.
(IX86_BUILTIN_VPCOMLEQ): Ditto.
(IX86_BUILTIN_VPCOMGTQ): Ditto.
(IX86_BUILTIN_VPCOMGEQ): Ditto.
(IX86_BUILTIN_VPCOMFALSEQ): Ditto.
(IX86_BUILTIN_VPCOMTRUEQ): Ditto.
(enum multi_arg_type): New enum for describing the various XOP
intrinsic argument types.
(bdesc_multi_arg): New table for XOP intrinsics.
(ix86_init_mmx_sse_builtins): Add XOP intrinsic support.
(ix86_expand_multi_arg_builtin): New function for creating XOP
intrinsics.
* config/i386/sse.md (sserotatemax): New mode attribute for XOP.
(xop_pmacsww): Ditto.
(xop_pmacssww): Ditto.
(xop_pmacsdd): Ditto.
(xop_pmacssdd): Ditto.
(xop_pmacssdql): Ditto.
(xop_pmacssdqh): Ditto.
(xop_pmacsdql): Ditto.
(xop_pmacsdql_mem): Ditto.
(xop_mulv2div2di3_low): Ditto.
(xop_pmacsdqh): Ditto.
(xop_pmacsdqh_mem): Ditto.
(xop_mulv2div2di3_high): Ditto.
(xop_pmacsswd): Ditto.
(xop_pmacswd): Ditto.
(xop_pmadcsswd): Ditto.
(xop_pmadcswd): Ditto.
(xop_pcmov_<mode>): Ditto.
(xop_pcmov_<mode>)256: Ditto.
(xop_phaddbw): Ditto.
(xop_phaddbd): Ditto.
(xop_phaddbq): Ditto.
(xop_phaddwd): Ditto.
(xop_phaddwq): Ditto.
(xop_phadddq): Ditto.
(xop_phaddubw): Ditto.
(xop_phaddubd): Ditto.
(xop_phaddubq): Ditto.
(xop_phadduwd): Ditto.
(xop_phadduwq): Ditto.
(xop_phaddudq): Ditto.
(xop_phsubbw): Ditto.
(xop_phsubwd): Ditto.
(xop_phsubdq): Ditto.
(xop_pperm): Ditto.
(rotl<mode>3): Ditto.
(rotr<mode>3): Ditto.
(xop_rotl<mode>3): Ditto.
(xop_rotr<mode>3): Ditto.
(vrotr<mode>3): Ditto.
(vrotl<mode>3): Ditto.
(xop_vrotl<mode>3): Ditto.
(vlshr<mode>3): Ditto.
(vashr<mode>3): Ditto.
(vashl<mode>3
(xop_ashl<mode>3): Ditto.
(xop_lshl<mode>3): Ditto.
(ashlv16qi3): Ditto.
(lshlv16qi3): Ditto.
(ashrv16qi3): Ditto.
(ashrv2di3): Ditto.
(xop_frcz<mode>2): Ditto.
(xop_vmfrcz<mode>2): Ditto.
(xop_frcz<mode>2256): Ditto.
(xop_maskcmp<mode>3): Ditto.
(xop_maskcmp_uns<mode>3): Ditto.
(xop_maskcmp_uns2<mode>3): Ditto.
(xop_pcom_tf<mode>3): Ditto.
* doc/invoke.texi (-mxop): Add documentation.
* doc/extend.texi (x86 intrinsics): Add XOP intrinsics.
* gcc.target/i386/xop-check.h: New file.
* gcc.target/i386/xop-hadduX.c: Ditto.
* gcc.target/i386/xop-haddX.c: Ditto.
* gcc.target/i386/xop-hsubX.c: Ditto.
* gcc.target/i386/xop-imul32widen-vector.c: Ditto.
* gcc.target/i386/xop-imul32widen-vector.c: Ditto.
* gcc.target/i386/xop-pcmov2.c: Ditto.
* gcc.target/i386/xop-pcmov.c: Ditto.
* gcc.target/i386/xop-rotate1-vector.c: Ditto.
* gcc.target/i386/xop-rotate2-vector.c: Ditto.
* gcc.target/i386/xop-rotate3-vector.c: Ditto.
* gcc.target/i386/xop-shift1-vector.c: Ditto.
* gcc.target/i386/xop-shift2-vector.c: Ditto.
* gcc.target/i386/xop-shift3-vector.c: Ditto.
* gcc.target/i386/i386.exp: Add check_effective_target_xop.
* gcc.target/i386/sse-12.c: Update with new compile options to
activate and check xopintrin.h intrinsic file.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
* g++.dg/other/i386-5.C: Ditto.
* g++.dg/other/i386-6.C: Ditto.
Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
From-SVN: r153901
Mark Mitchell [Wed, 4 Nov 2009 15:47:00 +0000 (15:47 +0000)]
re PR driver/11810 (gcc -pipe -ox.o -c x.c writes erroneous x.o on compile error)
PR driver/11810
* gcc.c (SWITCHES_NEED_SPACES): Define to "o".
* config/alpha/osf.h (SWITCHES_NEED_SPACES): Remove here.
* config/mips/iris.h (SWITCHES_NEED_SPACES): Remove here.
From-SVN: r153900
Rafael Avila de Espindola [Wed, 4 Nov 2009 15:45:31 +0000 (15:45 +0000)]
lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
2009-11-04 Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
From-SVN: r153899
Richard Earnshaw [Wed, 4 Nov 2009 14:09:55 +0000 (14:09 +0000)]
[multiple changes]
2009-11-04 Richard Earnshaw <rearnsha@arm.com>
PR target/40835
* arm.md (peephole2 patterns for move and compare): New.
2009-11-04 Wei Guozhi <carrot@google.com>
PR target/40835
* gcc.target/arm/pr40835: New testcase.
From-SVN: r153895
Nick Clifton [Wed, 4 Nov 2009 11:06:36 +0000 (11:06 +0000)]
defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
* defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
Make sure that it does not allow CONST_DOUBLEs.
* doc/tm.texi (CONSTANT_ADDRESS_P): Update description.
* config/avr/avr.h (CONSTANT_ADDRESS_P): Delete.
* config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete.
* config/cris/cris.h (CONSTANT_ADDRESS_P): Delete.
* config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete.
* config/frv/frv.h (CONSTANT_ADDRESS_P): Delete.
* config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete.
* config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete.
* config/mep/mep.h (CONSTANT_ADDRESS_P): Delete.
* config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete.
* config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete.
* config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete.
* config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete.
* config/score/score.h (CONSTANT_ADDRESS_P): Delete.
* config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete.
From-SVN: r153894
Richard Biener [Wed, 4 Nov 2009 10:35:04 +0000 (10:35 +0000)]
re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41919
* tree-vrp.c (test_for_singularity): Properly compare values.
* gcc.c-torture/execute/pr41919.c: New testcase.
From-SVN: r153893
Revital Eres [Wed, 4 Nov 2009 10:22:22 +0000 (10:22 +0000)]
Another fix to the misaligned store vectorizer patch
From-SVN: r153892
Richard Guenther [Wed, 4 Nov 2009 10:18:33 +0000 (10:18 +0000)]
re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41919
* tree-vrp.c (test_for_singularity): Properly compare values.
* gcc.c-torture/execute/pr41919.c: New testcase.
From-SVN: r153891
Maxim Kuvyrkov [Wed, 4 Nov 2009 09:57:55 +0000 (09:57 +0000)]
[multiple changes]
2009-11-04 Maxim Kuvyrkov <maxim@codesourcery.com>
PR target/41302
* config/m68k/m68k.c (m68k_reg_present_p): New static function.
(m68k_ok_for_sibcall_p): Handle different result return locations.
2009-11-04 Carlos O'Donell <carlos@codesourcery.com>
PR target/41302
* gcc.target/m68k/pr41302.c: New test.
From-SVN: r153890
Richard Guenther [Wed, 4 Nov 2009 09:40:15 +0000 (09:40 +0000)]
c-opts.c (c_common_post_options): Move LTO option processing code ...
2009-11-04 Richard Guenther <rguenther@suse.de>
* c-opts.c (c_common_post_options): Move LTO option processing
code ...
* opts.c (decode_options): ... here.
fortran/
* options.c (gfc_post_options): Rely on common code processing
LTO options. Only enable -fwhole-file here.
From-SVN: r153889
Jakub Jelinek [Wed, 4 Nov 2009 07:26:30 +0000 (08:26 +0100)]
c-common.c (fold_offsetof_1): Use %wd instead of HOST_WIDE_INT_PRINT_DEC.
* c-common.c (fold_offsetof_1): Use %wd instead of
HOST_WIDE_INT_PRINT_DEC.
From-SVN: r153887
GCC Administrator [Wed, 4 Nov 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r153886
Maciej W. Rozycki [Wed, 4 Nov 2009 00:07:24 +0000 (00:07 +0000)]
linux.h (TARGET_OS_CPP_BUILTINS): Don't define __pic__ or __PIC__.
* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Don't define
__pic__ or __PIC__.
From-SVN: r153883
Maciej W. Rozycki [Wed, 4 Nov 2009 00:05:53 +0000 (00:05 +0000)]
config.gcc (vax-*-linux*): Keep the original contents of tmake_file while adding vax/t-linux.
* config.gcc (vax-*-linux*): Keep the original contents of
tmake_file while adding vax/t-linux.
From-SVN: r153882
Jason Merrill [Tue, 3 Nov 2009 23:02:41 +0000 (18:02 -0500)]
re PR c++/36959 (C++ front-end causing a static inline function to be emitted)
PR c++/36959
* decl2.c (cxx_callgraph_analyze_expr): Don't reference a function
just because a static variable in it is needed unless -frepo.
From-SVN: r153878
Eric Botcazou [Tue, 3 Nov 2009 22:49:37 +0000 (22:49 +0000)]
re PR target/10127 (-fstack-check let's program crash)
PR target/10127
PR ada/20548
* expr.h (STACK_CHECK_PROBE_INTERVAL): Delete.
(STACK_CHECK_PROBE_INTERVAL_EXP): New macro.
(STACK_CHECK_MOVING_SP): Likewise.
* system.h (STACK_CHECK_PROBE_INTERVAL): Poison it.
* doc/tm.texi (Stack Checking): Delete STACK_CHECK_PROBE_INTERVAL.
Document STACK_CHECK_PROBE_INTERVAL_EXP and STACK_CHECK_MOVING_SP.
* doc/md.texi (Standard Pattern Names): Tweak entry of CHECK_STACK.
Document PROBE_STACK.
* explow.c (anti_adjust_stack_and_probe): New function.
(allocate_dynamic_stack_space): Do not directly allocate space if
STACK_CHECK_MOVING_SP, instead invoke above function.
(emit_stack_probe): Handle probe_stack insn.
(PROBE_INTERVAL): New macro.
(STACK_GROW_OPTAB): Likewise.
(STACK_GROW_OFF): Likewise.
(probe_stack_range): Use Pmode and memory_address consistently. Fix
loop condition in the small constant case. Rewrite in the general
case to be immune to wraparounds. Make sure the address of probes
is valid. Try to use [base + disp] addressing mode if possible.
* ira.c (setup_eliminable_regset): Set frame_pointer_needed if stack
checking is enabled and STACK_CHECK_MOVING_SP.
* rtlanal.c (may_trap_p_1) <MEM>: If stack checking is enabled,
return 1 for volatile references to the stack pointer.
* tree.c (build_common_builtin_nodes): Do not set ECF_NOTHROW on
__builtin_alloca if stack checking is enabled.
* unwind-dw2.c (uw_identify_context): Take into account whether the
context is that of a signal frame or not.
* config/i386/linux.h (STACK_CHECK_MOVING_SP): Define to 1.
* config/i386/linux64.h (STACK_CHECK_MOVING_SP): Likewise.
From-SVN: r153877
Jakub Jelinek [Tue, 3 Nov 2009 22:36:39 +0000 (23:36 +0100)]
re PR rtl-optimization/41917 (Strange athrithmetic result with -O3)
PR rtl-optimization/41917
* rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
operand isn't known to be 0, return 1.
* gcc.c-torture/execute/pr41917.c: New test.
From-SVN: r153874
Uros Bizjak [Tue, 3 Nov 2009 21:33:26 +0000 (22:33 +0100)]
pr41900.c: Make test compile only.
* gcc.target/i386/pr41900.c: Make test compile only. Scan assembler
dump to not include "call *%esp".
From-SVN: r153871
Richard Sandiford [Tue, 3 Nov 2009 21:28:48 +0000 (21:28 +0000)]
mips.md: Fix typos.
gcc/
* config/mips/mips.md: Fix typos.
From-SVN: r153870
Richard Sandiford [Tue, 3 Nov 2009 21:25:49 +0000 (21:25 +0000)]
invoke.texi: Fix typo.
gcc/
* doc/invoke.texi: Fix typo.
From-SVN: r153869
Jason Merrill [Tue, 3 Nov 2009 20:52:30 +0000 (15:52 -0500)]
re PR c++/39786 (Qualified name lookup through different numbers of using directives)
PR c++/39786
* g++.dg/lookup/using22.C: New.
From-SVN: r153865
Jason Merrill [Tue, 3 Nov 2009 20:52:21 +0000 (15:52 -0500)]
re PR c++/41876 (Parse problems with catch)
PR c++/41876
* parser.c (cp_parser_type_specifier_seq): Rename is_condition to
is_declaration.
(cp_parser_exception_declaration): Pass true.
(cp_parser_omp_for_loop): Likewise.
From-SVN: r153864
Jason Merrill [Tue, 3 Nov 2009 18:43:06 +0000 (13:43 -0500)]
re PR c++/41927 ([C++0x] Spurious warning with enable_if and default function template argument)
PR c++/41927
* typeck.c (build_x_binary_op): Don't do warn_parentheses
if we're in a SFINAE context.
From-SVN: r153863
Jason Merrill [Tue, 3 Nov 2009 18:42:59 +0000 (13:42 -0500)]
re PR c++/41815 ([C++0x] GCC wrongly treats rvalues of non-class type cv-qualified)
PR c++/41815
* call.c (build_call_a): Strip cv-quals from rvalue result.
From-SVN: r153862
David Krauss [Tue, 3 Nov 2009 18:16:34 +0000 (18:16 +0000)]
re PR libstdc++/41351 (std::rotate on RAI does not conform to ISO complexity requirement)
2009-11-03 David Krauss <potswa@mac.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/41351
* include/bits/stl_algo.h (__rotate(_RandomAccessIterator,
_RandomAccessIterator, _RandomAccessIterator,
random_access_iterator_tag)): Rewrite to use only std::swap in
general and std::copy/std::copy_backward when safe.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r153860
Paul Brook [Tue, 3 Nov 2009 17:58:59 +0000 (17:58 +0000)]
neon.ml (vectype): Add T_floatSF.
2009-11-03 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/neon.ml (vectype): Add T_floatSF.
(string_of_vectype): Ditto.
* config/arm/neon-gen.ml (signed_ctype): Add T_floatSF.
(deftypes): Use float for float32_t.
* config/arm/arm_neon.h: Regenerate.
From-SVN: r153858
Jason Merrill [Tue, 3 Nov 2009 17:11:18 +0000 (12:11 -0500)]
re PR c++/40944 ([C++0x] rejects well-formed code: SFINAE, decltype, function call)
PR c++/40944
* call.c (initialize_reference): Add complain parm.
* typeck.c (convert_for_initialization): Pass it.
* decl.c (grok_reference_init): Likewise.
* cp-tree.h: Declare it.
From-SVN: r153856
Jason Merrill [Tue, 3 Nov 2009 17:11:08 +0000 (12:11 -0500)]
re PR c++/40687 ([C++0x]: error with auto and 7.1.6.4/7 in N2914)
PR c++/40687
* pt.c (do_auto_deduction): Diagnose inconsistent deduction.
From-SVN: r153855
Tobias Burnus [Tue, 3 Nov 2009 16:51:52 +0000 (17:51 +0100)]
re PR fortran/41907 (465.tonto in SPEC CPU 2006 runtime failure)
2009-11-03 Tobias Burnus <burnus@net-b.de>
PR fortran/41907
* trans-expr.c (gfc_conv_procedure_call): Fix presence check
for optional arguments.
2009-11-03 Tobias Burnus <burnus@net-b.de>
PR fortran/41907
* gfortran.dg/missing_optional_dummy_6.f90: New test.
From-SVN: r153854
Nick Clifton [Tue, 3 Nov 2009 16:25:29 +0000 (16:25 +0000)]
predicates.md (rx_store_multiple_vector): Reverse order of expected registers.
* config/rx/predicates.md (rx_store_multiple_vector): Reverse
order of expected registers.
(rx_load_multiple_vector): Likewise.
(rx_rtsd_vector): Likewise.
* config/rx/rx.c (rx_cpu_type): New variable.
(rx_print_operand): Fix bug printing 64-bit constant values.
(rx_emit_stack_pushm): Reverse order of pushed registers.
(gen_rx_store_vector): Likewise.
(is_fast_interrupt_func): Only accept "fast_interrupt" as the
attribute name.
(is_exception_func): Rename to is_interrupt_func and only accept
"interrupt" as the attribute name.
(rx_get_stack_layout): Use new function name.
(rx_func_attr_inlinable): Likewise.
(rx_attribute_table): Remove "exception".
(rx_expand_prologue): If necessary push the accumulator register
in the prologue of interrupt functions.
(rx_expand_epilogue): If necessary pop the accumulator.
(rx_builtins): Add RX_BUILTIN_MVTIPL.
(rx_expand_builtin_stz): Remove.
(rx_expand_builtin_mvtipl): New function.
(rx_init_builtins): Handle RX_BUILTIN_MVTIPL.
(rx_expand_builtin): Likewise.
(rx_enable_fpu): New variable.
(rx_handle_option): Handle -fpu, -nofpu, -mcpu and -patch.
* config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Assert machine based
on rx_cpu_type. Define __RX_FPU_INSNS__ if FPU insns are allowed.
(enum rx_cpu_types): Define.
(ASM_SPEC): Pass -m32bit-doubles on to assembler.
(INCOMING_FRAME_SP_OFFSET): Define.
(ARG_POINTER_CFA_OFFSET): Define.
(FRAME_POINTER_CFA_OFFSET): Define.
(OVERRIDE_OPTIONS): Enable fast math if RX FPU insns are enabled.
(ALLOW_RX_FPU_INSNS): Define.
* config/rx/rx.md: Test ALLOW_RX_FPU_INSNS instead of
fast_math_flags_set_p.
(UNSPEC_BUILTIN_MVTIPL): Define.
(revl): Rename to bswapsi2.
(bswaphi2): New pattern.
(mvtachi): Mark as volatile because it uses a register unknown to
GCC.
(mvtaclo): Likewise.
(racw): Likewise.
(mvtc): Remove clobber of cc0.
(mvtcp): Delete.
(opecp): Delete.
* config/rx/rx.opt (mieee): Remove.
(fpu): Add.
(nofpu): Add.
(mcpu=): Add.
(patch=): Add.
(msave-acc-in-interrupts): Add.
* config/rx/t-rx (MULTILIB_OPTIONS): Change default to 64bit
doubles.
(MULTILIB_DIRS): Likewise.
(MULTILIB_MATCHES): Treat -fpu as an alias for -m32bit-doubles.
* doc/extend.texi: Remove description of "exception" function
attribute.
* doc/invoke.texi: Document -fpu, -nofpu, -mcpu=, -patch= and
-msave-acc-in-interrupts options.
* gcc.target/rx/builtins,c: Remove redundant tests.
Add test of MVTIPL instruction.
* gcc.target/rx/interrupts.c: Use fast_interrupt and interrupt
function attributes. Add -msave-acc-in-interrupts option to the
command line.
Co-Authored-By: Kevin Buettner <kevinb@redhat.com>
From-SVN: r153853
Andrew Stubbs [Tue, 3 Nov 2009 15:21:55 +0000 (15:21 +0000)]
pr36191.C: Don't run with -fomit-frame-pointer on sh, m68k and fido.
* g++.dg/torture/pr36191.C: Don't run with -fomit-frame-pointer on
sh, m68k and fido.
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r153852
Dodji Seketeli [Tue, 3 Nov 2009 13:20:08 +0000 (13:20 +0000)]
Move builtin-offsetof.c test
PR c++/38699
* c-c++-common/dfp/builtin-offsetof.c: Moved to ...
* c-c++-common/builtin-offsetof.c: ... here.
From-SVN: r153848
Richard Guenther [Tue, 3 Nov 2009 11:45:00 +0000 (11:45 +0000)]
c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC.
2009-11-03 Richard Guenther <rguenther@suse.de>
* c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC.
From-SVN: r153846
Uros Bizjak [Tue, 3 Nov 2009 10:59:33 +0000 (11:59 +0100)]
* gcc.target/i386/pr41900.c (main): Add missing volatile.
From-SVN: r153845
Dodji Seketeli [Tue, 3 Nov 2009 10:44:36 +0000 (10:44 +0000)]
re PR c++/38699 (ICE using offsetof with pointer and array accesses)
Fix PR c++/38699
gcc/ChangeLog:
PR c++/38699
* c-common.c (fold_offsetof_1): Issue errors when the
member designator of the offsetoff expression is not legitimate.
gcc/testsuite/ChangeLog:
* c-c++-common/dfp/builtin-offsetof.c: New test.
* g++.dg/other/offsetof6.C: Likewise.
From-SVN: r153843
Uros Bizjak [Tue, 3 Nov 2009 08:26:02 +0000 (09:26 +0100)]
i386.md (*call_value_1_rex64_ms_sysv): Use register names instead of numerical constants.
* config/i386/i386.md (*call_value_1_rex64_ms_sysv): Use register
names instead of numerical constants.
(sse_prologue_save): Ditto.
(*sse_prologue_save_insn): Ditto.
From-SVN: r153840
Uros Bizjak [Tue, 3 Nov 2009 07:53:05 +0000 (08:53 +0100)]
re PR target/41900 (call *%esp shouldn't be generated because of CPU errata)
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_ARCH_CALL_ESP.
* config/i386/i386.md
(*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp,
*call_value_1_esp): Rename from *call_pop_1, *call_1,
*call_value_pop_1 and *call_value_1. Depend on TARGET_CALL_ESP.
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
testsuite/ChangeLog:
PR target/41900
* gcc.target/i386/pr41900.c: New test.
From-SVN: r153838
Andy Hutchinson [Tue, 3 Nov 2009 03:24:38 +0000 (03:24 +0000)]
*gcc.c-torture/execute/pr40668.c: Correct for 16bit int size.
From-SVN: r153835
Benjamin Kosnik [Tue, 3 Nov 2009 00:47:48 +0000 (00:47 +0000)]
future: Use base class with nested types.
2009-11-02 Benjamin Kosnik <bkoz@redhat.com>
* include/std/future: Use base class with nested types.
(__future_base): New.
(__future_base::_Result_base): From _Future_result_base.
(__future_base::_Result): From _Future_result.
(__future_base::_Move_result): From _Move_future_result.
(__future_base::_Ptr): From _Future_ptr.
(__future_base::_State): From _Future_state.
(__basic_future): From _Future_impl.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust line
numbers.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.
From-SVN: r153834
Benjamin Kosnik [Tue, 3 Nov 2009 00:40:57 +0000 (00:40 +0000)]
MAINTAINERS: Add Jonathan Wakely under Various Maintainers...
2009-11-02 Benjamin Kosnik <bkoz@redhat.com>
* MAINTAINERS: Add Jonathan Wakely under Various Maintainers, move
Phil Edwards to Write-After Approval.
From-SVN: r153833
GCC Administrator [Tue, 3 Nov 2009 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r153832
Dodji Seketeli [Mon, 2 Nov 2009 22:58:07 +0000 (22:58 +0000)]
re PR testsuite/41856 (g++.dg/lookup/extern-c-redecl[3,4] .C should be target specific)
Fix PR c++/41856
PR c++/41856
* g++.dg/lookup/extern-c-redecl3.C: Make the test x86
only.
* g++.dg/lookup/extern-c-redecl4.C: Likewise.
From-SVN: r153829
Janne Blomqvist [Mon, 2 Nov 2009 22:14:20 +0000 (00:14 +0200)]
Forgot files from r153825
From-SVN: r153827
Janne Blomqvist [Mon, 2 Nov 2009 21:52:59 +0000 (23:52 +0200)]
Split up io/io.h
From-SVN: r153825
Andreas Tobler [Mon, 2 Nov 2009 21:18:17 +0000 (21:18 +0000)]
re PR libffi/41908 (closures fail for some structure arguments containing floats)
2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
PR libffi/41908
* testsuite/libffi.call/testclosure.c: New test.
From-SVN: r153824
Dodji Seketeli [Mon, 2 Nov 2009 19:55:02 +0000 (19:55 +0000)]
re PR c++/37093 (ICE with pointer to member template parameters)
Fix PR c++/37093
gcc/cp/ChangeLog:
PR c++/37093
* pt.c (check_valid_ptrmem_cst_expr): New function.
(convert_nontype_argument): Use it to output an error for
illegal pointer to member expressions used as template arguments.
gcc/testsuite/ChangeLog:
PR c++/37093
* g++.dg/other/ptrmem10.C: New test.
* g++.dg/other/ptrmem11.C: Likewise.
From-SVN: r153822
Janis Johnson [Mon, 2 Nov 2009 19:32:05 +0000 (19:32 +0000)]
re PR testsuite/41878 (ERROR: gfortran.dg/vect/vect-2.f90)
PR testsuite/41878
* gfortran.dg/vect/vect-2.f90: Fix effective-target expression, add
spaces in some expressions.
From-SVN: r153821
Ralf Wildenhues [Mon, 2 Nov 2009 18:52:08 +0000 (18:52 +0000)]
Work with defaulted $prefix (NONE) in libjava.
libjava/:
PR bootstrap/38867
* configure.ac (expanded_prefix): New variable, set to the
default prefix if none was passed on the command line.
* configure: Regenerate.
From-SVN: r153820
Jason Merrill [Mon, 2 Nov 2009 16:52:57 +0000 (11:52 -0500)]
* c-c++-common/dfp/pr35620.c: Give the union a name.
From-SVN: r153818
Jason Merrill [Mon, 2 Nov 2009 16:14:26 +0000 (11:14 -0500)]
Restrict DR 757 change to C++0x mode.
* decl2.c (mark_used): Check cxx_dialect.
* decl.c (grokfndecl): Do check type linkage in C++98 mode.
(grokvardecl): Likewise.
* pt.c (check_instantiated_arg): Likewise.
From-SVN: r153816
Ulrich Weigand [Mon, 2 Nov 2009 14:30:39 +0000 (14:30 +0000)]
re PR tree-optimization/41857 (Loop optimizer breaks __ea pointers with -mea64)
gcc/
PR tree-optimization/41857
* tree-flow.h (rewrite_use_address): Add BASE_HINT argument.
* tree-ssa-loop-ivopts.c (rewrite_use_address): Pass base hint
to create_mem_ref.
* tree-ssa-address.c (move_hint_to_base): New function.
(most_expensive_mult_to_index): Add TYPE argument. Use mode and
address space associated with TYPE.
(addr_to_parts): Add TYPE and BASE_HINT arguments. Pass TYPE to
most_expensive_mult_to_index. Call move_hint_to_base.
(create_mem_ref): Add BASE_HINT argument. Pass BASE_HINT and
TYPE to addr_to_parts.
gcc/testsuite/
PR tree-optimization/41857
* gcc.target/spu/ea/pr41857.c: New file.
From-SVN: r153810
Martin Jambor [Mon, 2 Nov 2009 14:13:49 +0000 (15:13 +0100)]
re PR tree-optimization/41750 (IPA-SRA is broken)
2009-11-02 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/41750
* tree-sra.c (analyze_modified_params): Loop over all
representatives of components of a parameter.
* testsuite/gcc.c-torture/execute/pr41750.c: New test.
From-SVN: r153809