Commit Graph

96980 Commits

Author SHA1 Message Date
Jason Merrill
3c3905fc17 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
2009-11-06 16:18:35 -05:00
Basile Starynkevitch
7ac8318c2d 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
2009-11-06 19:20:39 +00:00
Andrew Pinski
87e9286428 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
2009-11-06 11:10:07 -08:00
Jakub Jelinek
2e3135726b 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
2009-11-06 18:51:20 +01:00
Michael Matz
79af7c1f6d 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
2009-11-06 15:05:20 +00:00
Jonas Maebe
9cd4e79ba8 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
2009-11-06 14:36:57 +00:00
Paolo Carlini
77d16198fc 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
2009-11-06 11:39:35 +00:00
Jakub Jelinek
b169fe9de8 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
2009-11-06 11:33:33 +01:00
Ozkan Sezer
5d571eaa95 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
2009-11-06 11:16:30 +01:00
Jakub Jelinek
d32599a6e9 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
2009-11-06 09:46:45 +01:00
Jonathan Wakely
21a15d9f83 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
2009-11-06 08:38:02 +00:00
Jason Merrill
11f18e1daf 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
2009-11-05 23:32:13 -05:00
Jason Merrill
040ca4b38f 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
2009-11-05 22:33:17 -05:00
Jason Merrill
2395cd2e91 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
2009-11-05 22:33:06 -05:00
Jason Merrill
9d79aec313 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
2009-11-05 22:32:55 -05:00
GCC Administrator
57201d0267 Daily bump.
From-SVN: r153956
2009-11-06 00:16:52 +00:00
Richard Henderson
7a14a9dad8 * config/i386/ia32intrin.h: Protect CRC32 builtins with __SSE4_2__.
From-SVN: r153953
2009-11-05 15:27:52 -08:00
Steven G. Kargl
ad6d42e16a 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
2009-11-05 20:57:12 +00:00
Eric Botcazou
2799d18c92 * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
From-SVN: r153949
2009-11-05 18:26:21 +00:00
Eric Botcazou
22d12fc2cb trans.c (lvalue_required_p): New case.
* gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
	New case.

From-SVN: r153948
2009-11-05 18:25:10 +00:00
Janus Weil
4b7dd692c2 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
2009-11-05 16:31:07 +01:00
Jakub Jelinek
5ddf025851 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
2009-11-05 15:54:19 +01:00
Paul Brook
d79f303241 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
2009-11-05 14:47:45 +00:00
Michael Matz
79e22ff8a4 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
2009-11-05 14:11:26 +00:00
Paolo Carlini
338311e5d7 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
2009-11-05 14:06:13 +00:00
Rafael Avila de Espindola
94086ef69c 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
2009-11-05 13:59:54 +00:00
Joern Rennecke
3be9759a01 * MAINTAINERS (Write After Approval): Add entry for my INRIA work.
From-SVN: r153937
2009-11-05 13:41:46 +00:00
Jason Merrill
5ab8b6b550 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
2009-11-05 08:11:42 -05:00
Martin Jambor
30a20e9731 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
2009-11-05 13:09:08 +01:00
Janus Weil
8bae6273fb 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
2009-11-05 11:42:48 +01:00
Maxim Kuvyrkov
eb6219852b * gcc.target/m68k/pr41302.c: Fix target triplet.
From-SVN: r153933
2009-11-05 10:22:27 +00:00
Benjamin Kosnik
dc5de59088 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
2009-11-05 02:55:08 +00:00
GCC Administrator
d5bcfb20ba Daily bump.
From-SVN: r153928
2009-11-05 00:16:41 +00:00
Kenneth Zadeck
4f2da32b77 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
2009-11-04 23:17:54 +00:00
Jason Merrill
cb5f207480 Revert untested varasm.c change
From-SVN: r153923
2009-11-04 18:14:56 -05:00
Jason Merrill
be998fb7bc fix
From-SVN: r153922
2009-11-04 18:14:14 -05:00
Jason Merrill
e3503aa8cf 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
2009-11-04 18:13:23 -05:00
Jason Merrill
f4ecc8fd6b re PR c++/39413 (static_assert and SFINAE)
PR c++/39413
	* search.c (lookup_base): Don't complete_type (base).

From-SVN: r153920
2009-11-04 17:29:35 -05:00
Eric Botcazou
f96b189564 Fix nit
From-SVN: r153919
2009-11-04 21:50:31 +00:00
Eric Botcazou
35a07c37da 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
2009-11-04 21:45:54 +00:00
Harsha Jagasia
3e901069e7 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
2009-11-04 21:15:42 +00:00
Janus Weil
6168891d1f [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
2009-11-04 20:41:07 +01:00
Jason Merrill
0bc044b8b3 correct PR number
From-SVN: r153910
2009-11-04 14:36:34 -05:00
Jason Merrill
eeeca7d418 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
2009-11-04 14:34:25 -05:00
Paolo Carlini
d87f43c358 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
2009-11-04 18:48:21 +00:00
Andrew Pinski
0e159e0f2b 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
2009-11-04 10:35:57 -08:00
Jason Merrill
ac3554c568 PR c++/17365, DR 218
PR c++/17365, DR 218
	* name-lookup.c (add_function): Ignore non-functions.

From-SVN: r153905
2009-11-04 13:13:57 -05:00
Richard Guenther
7e9dc421e5 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
2009-11-04 17:24:37 +00:00
Harsha Jagasia
43a8b70590 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
2009-11-04 16:22:47 +00:00
Mark Mitchell
7d6ce94a23 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
2009-11-04 15:47:00 +00:00