Commit Graph

104410 Commits

Author SHA1 Message Date
Paolo Carlini
be3c93b011 unordered_map (unordered_map<>::operator[](_Key&&)): Add.
2010-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/unordered_map (unordered_map<>::operator[](_Key&&)):
	Add.

From-SVN: r166420
2010-11-07 18:56:56 +00:00
Uros Bizjak
bb3684703d re PR tree-optimization/46346 (fma testsuite failures)
PR tree-optimization/46346
	* tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.

From-SVN: r166419
2010-11-07 18:49:11 +01:00
Andreas Schwab
604e92e2f1 nested-2.C: Adjust pattern to also match "|" as comment character.
* g++.dg/debug/dwarf2/nested-2.C: Adjust pattern to also match "|"
as comment character.

From-SVN: r166418
2010-11-07 16:59:52 +00:00
Paolo Carlini
52b8df0139 bitset (bitset<>::bitset(), [...]): Add constexpr specifier.
2010-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/bitset (bitset<>::bitset(), bitset<>::
	bitset(unsigned long long)): Add constexpr specifier.

From-SVN: r166417
2010-11-07 16:08:09 +00:00
Paolo Carlini
17e3f4aa17 bitset: Do not derive from _Safe_sequence_base in C++0x mode...
2010-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset: Do not derive from _Safe_sequence_base in
	C++0x mode, otherwise std::bitset isn't a literal type anymore;
	adjust everywhere.

	* include/debug/bitset (bitset<>::bitset(), bitset<>::
	bitset(unsigned long long)):  Add missing constexpr specifier.

From-SVN: r166416
2010-11-07 15:15:28 +00:00
Richard Sandiford
c50bcc13cb mips.c: Revert previous patch.
gcc/
	* config/mips/mips.c: Revert previous patch.
	* config/mips/mips.md: Likewise.

gcc/testsuite/
	* gcc.target/mips/mips.exp: Revert previous patch.
	* gcc.target/mips/fma-1.c: Delete.
	* gcc.target/mips/fma-2.c: Likewise.
	* gcc.target/mips/fma-3.c: Likewise.
	* gcc.target/mips/fma-4.c: Likewise.
	* gcc.target/mips/fma-5.c: Likewise.
	* gcc.target/mips/fma-6.c: Likewise.
	* gcc.target/mips/fma-7.c: Likewise.
	* gcc.target/mips/fma-8.c: Likewise.
	* gcc.target/mips/fma-9.c: Likewise.
	* gcc.target/mips/fma-10.c: Likewise.
	* gcc.target/mips/fma-11.c: Likewise.
	* gcc.target/mips/fma-12.c: Likewise.
	* gcc.target/mips/fma-13.c: Likewise.
	* gcc.target/mips/fma-14.c: Likewise.
	* gcc.target/mips/fma-15.c: Likewise.
	* gcc.target/mips/fma-16.c: Likewise.
	* gcc.target/mips/fma-17.c: Likewise.
	* gcc.target/mips/fma-18.c: Likewise.
	* gcc.target/mips/fma-19.c: Likewise.
	* gcc.target/mips/fma-20.c: Likewise.

From-SVN: r166415
2010-11-07 12:32:18 +00:00
Richard Sandiford
c7c0f73d68 mips.c (mips_rtx_costs): Handle FMA.
gcc/
	* config/mips/mips.c (mips_rtx_costs): Handle FMA.
	* config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
	(*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
	(*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
	(*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
	to use FMA.
	(fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
	(fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
	(fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
	(fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.

gcc/testsuite/
	* gcc.target/mips/mips.exp: Add support for -ffp-contract.
	* gcc.target/mips/fma-1.c: New test.
	* gcc.target/mips/fma-2.c: Likewise.
	* gcc.target/mips/fma-3.c: Likewise.
	* gcc.target/mips/fma-4.c: Likewise.
	* gcc.target/mips/fma-5.c: Likewise.
	* gcc.target/mips/fma-6.c: Likewise.
	* gcc.target/mips/fma-7.c: Likewise.
	* gcc.target/mips/fma-8.c: Likewise.
	* gcc.target/mips/fma-9.c: Likewise.
	* gcc.target/mips/fma-10.c: Likewise.
	* gcc.target/mips/fma-11.c: Likewise.
	* gcc.target/mips/fma-12.c: Likewise.
	* gcc.target/mips/fma-13.c: Likewise.
	* gcc.target/mips/fma-14.c: Likewise.
	* gcc.target/mips/fma-15.c: Likewise.
	* gcc.target/mips/fma-16.c: Likewise.
	* gcc.target/mips/fma-17.c: Likewise.
	* gcc.target/mips/fma-18.c: Likewise.
	* gcc.target/mips/fma-19.c: Likewise.
	* gcc.target/mips/fma-20.c: Likewise.

From-SVN: r166414
2010-11-07 08:31:21 +00:00
Jason Merrill
4de2f020aa init.c (perform_member_init): Use build_vec_init_expr for value-init of arrays, too.
* init.c (perform_member_init): Use build_vec_init_expr for
	value-init of arrays, too.
	* cp-gimplify.c (cp_gimplify_expr): Use VEC_INIT_EXPR_VALUE_INIT.
	* cp-tree.h (VEC_INIT_EXPR_IS_CONSTEXPR): New macro.
	(VEC_INIT_EXPR_VALUE_INIT): New macro.
	* semantics.c (potential_constant_expression): No longer static.
	Check VEC_INIT_EXPR_IS_CONSTEXPR.
	* tree.c (build_vec_init_expr): Handle value-init.  Set
	VEC_INIT_EXPR_IS_CONSTEXPR and VEC_INIT_EXPR_VALUE_INIT.

From-SVN: r166413
2010-11-06 20:46:45 -04:00
GCC Administrator
acd6cc816d Daily bump.
From-SVN: r166412
2010-11-07 00:17:20 +00:00
Simon Martin
c58e98c83b re PR c/43384 (ICE: Segmentation fault with invalid K&R-like code)
gcc/

2010-11-16  Simon Martin  <simartin@users.sourceforge.net>

	PR c/43384
	* c-decl.c (lookup_label): Labels can only be referenced in a
	function's scope. 
	(store_parm_decls_oldstyle): Skip erroneous parameters.

gcc/testsuite/
 
2010-11-16  Simon Martin  <simartin@users.sourceforge.net>

	PR c/43384
	* gcc.dg/parser-error-3.c: New test.

From-SVN: r166408
2010-11-06 21:58:50 +00:00
Anatoly Sokolov
da0dc81873 fr30.h (FUNCTION_VALUE_REGNO_P, [...]): Remove macros.
* config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
	LIBCALL_VALUE): Remove macros.
	* config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
	TARGET_FUNCTION_VALUE_REGNO_P): Define.
	(fr30_function_value_regno_p, fr30_function_value,
	fr30_libcall_value): New functions.

From-SVN: r166407
2010-11-06 22:47:21 +03:00
Nathan Froyd
134c192bb3 re PR c++/45332 (Generate clear diagnostics when a terminating semicolon is missing from a class member declaration.)
gcc/cp/
	PR c++/45332
	* parser.c (cp_lexer_previous_token): New function.
	(cp_parser_member_declaration): Use previous token for error
	messages.  Assume semicolon presence rather than grovelling for
	the next one.

gcc/testsuite/
	PR c++/45332
	* g++.dg/parse/semicolon2.C: New testcase.
	* g++.dg/ext/asmspec1.C: Adjust.
	* g++.dg/init/new13.C: Adjust.
	* g++.dg/parse/ctor5.C: Adjust.

From-SVN: r166406
2010-11-06 18:41:57 +00:00
Janus Weil
fbc7f9df71 re PR fortran/46330 ([OOP] ICE after revision 166368)
2010-11-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46330
	* trans-expr.c (gfc_trans_class_assign): Find 'vtab' symbol in correct
	namespace.


2010-11-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46330
	* gfortran.dg/class_27.f03: New.

From-SVN: r166405
2010-11-06 18:58:11 +01:00
Joern Rennecke
4ee3b0139f re PR middle-end/46314 (frontends use ASM_GENERATE_INTERNAL_LABEL)
PR middle-end/46314
gcc:
	* target.def (generate_internal_label): New asm_out hook.
	* output.h (default_generate_internal_label): Declare.
	* varasm.c (default_generate_internal_label): Define.
gcc/cp:
	* method.c (make_alias_for_thunk):
	Use targetm.asm_out.generate_internal_label.
gcc/java:
	* class.c: Include target.h.
	(make_local_function_alias):
	Use targetm.asm_out.generate_internal_label.
	* expr.c (lookup_label, generate_name): Likewise.

From-SVN: r166404
2010-11-06 15:04:52 +00:00
Nicola Pero
a9625a91d2 In gcc/objc/: 2010-11-05 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        Fixed using the Objective-C 2.0 syntax with self and super.
        * objc-act.c (OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS): New.
        (maybe_make_artificial_property_decl): Added 'implementation'
        argument.  Use OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS when
        looking up getters or setters for a class.  If an implementation
        is specified, search it as well for a getter or setter.
        (objc_maybe_build_component_ref): Updated calls to
        maybe_make_artificial_property_decl; added code to deal with
        'self' and 'super' and with methods declared locally in the
        implementation.  Store the getter call expression in the
        PROPERTY_REF instead of throwing it away.
        (objc_build_class_component_ref): Updated calls to
        maybe_make_artificial_property_decl, and store the getter call
        expression in PROPERTY_REF instead of throwing it away.
        (lookup_method_static): Implemented
        OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS option.
        (objc_gimplify_property_ref): Do not build the getter method call
        here; instead use the one stored in the PROPERTY_REF.  If it's not
        there, produce helpful error messages.
        * objc-tree.def (PROPERTY_REF): Increased the number of operands
        from 2 to 3.  Updated comments.
        * objc-act.h (PROPERTY_REF_GETTER_CALL): New.

In gcc/testsuite/:
2010-11-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        Fixed using the Objective-C 2.0 dot-syntax with self and super.
        * objc.dg/property/dotsyntax-5.m: New.
        * objc.dg/property/dotsyntax-6.m: New.
        * objc.dg/property/dotsyntax-7.m: New.
        * objc.dg/property/dotsyntax-8.m: New.
        * objc.dg/property/dotsyntax-9.m: New.
        * objc.dg/property/dotsyntax-10.m: New.
        * objc.dg/property/dotsyntax-11.m: New.
        * obj-c++.dg/property/dotsyntax-5.mm: New.
        * obj-c++.dg/property/dotsyntax-6.mm: New.
        * obj-c++.dg/property/dotsyntax-7.mm: New.
        * obj-c++.dg/property/dotsyntax-8.mm: New.
        * obj-c++.dg/property/dotsyntax-9.mm: New.
        * obj-c++.dg/property/dotsyntax-10.mm: New.
        * obj-c++.dg/property/dotsyntax-11.mm: New.

From-SVN: r166402
2010-11-06 13:14:55 +00:00
Iain Sandoe
cd746c2704 encode-3.mm: Provide a different string check for the NeXT runtime when the type is READONLY.
gcc/testsuite:

        * obj-c++.dg/encode-3.mm: Provide a different string check for the
        NeXT runtime when the type is READONLY.

From-SVN: r166401
2010-11-06 11:06:59 +00:00
Uros Bizjak
ea0b50bd46 387-2.c: Skip if -march= is specified.
* gcc.target/i386/387-2.c: Skip if -march= is specified.
	* gcc.target/i386/387-6.c: Ditto.
	* gcc.target/i386/387-2.c: Add -mfancy-math-387 to dg-options.
	* gcc.target/i386/387-4.c: Ditto.
	* gcc.target/i386/387-7.c: Ditto.
	* gcc.target/i386/387-8.c: Ditto.
	* gcc.target/i386/387-9.c: Ditto.
	* gcc.target/i386/387-10.c: Ditto.
	* gcc.target/i386/387-11.c: Ditto.
	* gcc.target/i386/387-12.c: Ditto.

	* gcc.target/i386/387-2.c: Add -mno-sse3 to dg-options.

From-SVN: r166400
2010-11-06 11:54:44 +01:00
Iain Sandoe
0e13f09b45 revert unintended change to gcc-def.exp.
From-SVN: r166399
2010-11-06 10:52:15 +00:00
Iain Sandoe
91ebb981ec NS/CF String format syntax parsing.
gcc:

	PR target/44981
	* doc/extend.tex (format): Document NSString extension.
	(format_arg): Likewise.
	(Darwin Format Checks): New section.
	* doc/tm.texi: Document string object hooks (generated).
	* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
	(TARGET_STRING_OBJECT_REF_TYPE_P): New.
	(TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
	* target.def (objc_construct_string_object): Rename, amend 
	documentation.
	(string_object_ref_type_p): New hook.
	(check_string_object_format_arg): New hook.
	* c-parser.c (c_parser_attributes): Allow objective-c class names as
	attribute identifiers.
	* config/darwin-c.c (darwin_cfstring_ref_p): New.
	(darwin_check_cfstring_format_arg): New.
	(darwin_additional_format_types): New.
	* config/darwin-protos.h (darwin_cfstring_ref_p) New.
	(darwin_check_cfstring_format_arg): New.
	* config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
	(TARGET_STRING_OBJECT_REF_TYPE_P): New.
	(TARGET_N_FORMAT_TYPES): New.
	(TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.

gcc/c-family:

	PR target/44981
	* c-format.c (format_type): New type gcc_objc_string_format_type.
	(valid_stringptr_type_p): New.
	(handle_format_arg_attribute): Use valid_stringptr_type_p ().
	(check_format_string): Pass expected type, use 
	valid_stringptr_type_p (), check that the format string types are
	consistent with the format specification.
	(decode_format_attr): Warn if NSString is used outside objective-c.
	(format_types_orig): Add NSString.
	(format_name): New.
	(format_flags): New.
	(check_format_arg): Handle format strings requiring an external parser.
	first_target_format_type: New variable.
	(handle_format_attribute): Set up first_target_format_type, pass the
	expected format arg string type to check_format_string().
	* c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
	* stub-objc.c (objc_string_ref_type_p): New.
	(objc_check_format_arg): New.

gcc/objc:

	PR target/44981
	* objc-act.c (objc_build_string_object): Amend for renamed hook.
	(objc_string_ref_type_p): New.
	(objc_check_format_arg): New.

gcc/testsuite:

	PR target/44981
	* gcc.dg/darwin-cfstring-format-1.c: New.
	* gcc.dg/warn-nsstring.c: New.
	* objc.dg/fsf-nsstring-format-1.m: New.
	* obj-c++.dg/fsf-nsstring-format-1.mm: New.
	* obj-c++.dg/torture/strings/const-cfstring-1.mm: Update for darwin10
	linker warning.

From-SVN: r166398
2010-11-06 10:48:18 +00:00
Eric Botcazou
2952a37e88 cygming.h (DWARF_FRAME_REGISTERS): Redefine.
* config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine.  Use 33
	in 64-bit mode and 17 otherwise.

Co-Authored-By: Pascal Obry <obry@adacore.com>

From-SVN: r166397
2010-11-06 08:55:57 +00:00
Andreas Krebbel
8784e5ac5f re PR debug/45939 (Wrong debug info: Negative location range generated)
2010-11-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR debug/45939
	* var-tracking.c (emit_note_insn_var_location): Make sure that
	call related var location notes come before the normal ones.

From-SVN: r166396
2010-11-06 06:31:02 +00:00
H.J. Lu
77bb7c610a Fix a typo in ix86_delegitimize_address.
2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/46326
	* config/i386/i386.c (ix86_delegitimize_address): Fix a typo
	in the last change.

From-SVN: r166394
2010-11-05 21:08:34 -07:00
Ian Lance Taylor
c070a3b932 explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
* explow.c (allocate_dynamic_stack_space): Check
	MALLOC_ABI_ALIGNMENT.

From-SVN: r166393
2010-11-06 03:44:58 +00:00
Benjamin Kosnik
cde9963161 user.cfg.in: Add typeindex.
2010-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add typeindex.

	* testsuite/util/testsuite_common_types.h (constexpr_comparison_eq_ne,
	constexpr_comparison_operators): New.
	* testsuite/20_util/duration/comparisons: Move...
	* testsuite/20_util/duration/comparison_operators: ...here.
	* testsuite/20_util/duration/comparison_operators/constexpr.cc: New.
	* testsuite/20_util/time_point/comparison_operators/constexpr.cc: Add.

	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust line
	numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r166392
2010-11-06 03:35:46 +00:00
Jason Merrill
e52a5db606 re PR c++/45473 (ICE: in dfs_walk_once, at cp/search.c:1659)
PR c++/45473
	* search.c (look_for_overrides): A constructor is never virtual.

From-SVN: r166391
2010-11-05 21:44:31 -04:00
GCC Administrator
614122f4d8 Daily bump.
From-SVN: r166390
2010-11-06 00:17:56 +00:00
Paolo Carlini
be9d3d7342 shared_ptr.h (shared_ptr<>::__shared_ptr(), [...]): Add constexpr specifier.
2010-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (shared_ptr<>::__shared_ptr(),
	shared_ptr<>::shared_ptr(nullptr_t), weak_ptr<>::weak_ptr(),
	enable_shared_from_this::enable_shared_from_this()): Add constexpr
	specifier.
	* include/bits/shared_ptr_base.h (__shared_count::__shared_count(),
	__shared_count::__shared_count(), __shared_ptr<>::__shared_ptr(),
	__shared_ptr<>::__shared_ptr(nullptr_t), __weak_ptr<>::__weak_ptr(),
	__enable_shared_from_this::__enable_shared_from_this()): Likewise.
	* include/bits/unique_ptr.h (default_delete,
	unique_ptr<>::unique_ptr(), unique_ptr<>::unique_ptr(nullptr_t)):
	Likewise.
	* testsuite/20_util/default_delete/cons/constexpr.cc: Do not xfail.
	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Remove, the test
	cannot work for a non-literal type like std::shared_ptr.
	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Add comments.
	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error line
	numbers.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r166386
2010-11-06 00:11:57 +00:00
Jakub Jelinek
a75de69230 re PR c/44772 (-Wc++-compat warns incorrectly for anonymous unions)
PR c/44772
	* c-decl.c (warn_cxx_compat_finish_struct): Don't call
	pointer_set_contains if DECL_NAME is NULL.

	* gcc.dg/Wcxx-compat-21.c: New test.

From-SVN: r166384
2010-11-06 01:07:50 +01:00
Ian Lance Taylor
c3928dde21 re PR target/46084 (gcc.dg/split-4.c failed with -mavx -m32)
gcc/:
	PR target/46084
	* explow.c (allocate_dynamic_stack_space): If flag_split_stack,
	request enough additional space for alignment, and force
	alignment.
testsuite/:
	* gcc.target/i386/pr46084.c: New test.

From-SVN: r166383
2010-11-05 23:45:32 +00:00
Kai Tietz
037de943dc i386.c (legitimate_pic_address_disp_p): Handle UNSPEC_PCREL.
2010-11-05  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/i386.c (legitimate_pic_address_disp_p):
        Handle UNSPEC_PCREL.
        (ix86_legitimate_address_p): Likewise.
        (legitimize_pic_address): Likewise.
        (output_pic_addr_const): Likewise.
        (ix86_delegitimize_address): Likewise.
        (ix86_find_base_term): Likewise.
        (memory_address_length): Likewise.
        (x86_output_mi_thunk): Handle special case x64
        for non local binding.
        * config/i386/i386.md (UNSPEC_PCREL): New.
        * config/i386/winnt.c (i386_pe_binds_local_p):
        Allow weak symbol for x64 windows with non-local binding.

From-SVN: r166382
2010-11-06 00:00:35 +01:00
Benjamin Kosnik
f706cf1831 user.cfg.in: Remove tr1_impl headers.
2010-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Remove tr1_impl headers.

	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
	constexpr_data.cc: New.

	* testsuite/util/testsuite_tr1.h (LType, LTypeDerived, NLType): New.
	* testsuite/20_util/is_literal_type/value.cc: New.
	* testsuite/20_util/is_literal_type/requirements/typedefs.cc: Name.
	* testsuite/20_util/is_literal_type/requirements/
	explicit_instantiation.cc: New.

From-SVN: r166381
2010-11-05 22:30:54 +00:00
Steve Ellcey
8d598c7441 target-supports.exp (check_function_available): Use -fno-builtin.
2010-11-05  Steve Ellcey  <sje@cup.hp.com>

	* lib/target-supports.exp (check_function_available): Use -fno-builtin.
	* (check_effective_target_mempcpy): New.
	* gcc.c-torture/execute/pr45636.c: Move this...
	* gcc.dg/torture/pr45636.c: to here.  Add add dg- directives.

From-SVN: r166378
2010-11-05 21:07:53 +00:00
Rainer Orth
73f22c498e i386.exp (FLAGS): Remove.
* gcc.target/i386/i386.exp (FLAGS): Remove.
	Wrap gcc_target_compile with $clearcap_ldflags added to options.

From-SVN: r166377
2010-11-05 19:34:19 +00:00
Jakub Jelinek
897145e3e1 re PR c++/46160 (ICE with volatile structure and enum)
PR c++/46160
	* cp-gimplify.c (cp_gimplify_expr): Drop volatile MEM_REFs
	on the RHS to avoid infinite recursion with gimplify_expr.

	* g++.dg/opt/empty2.C: New test.

From-SVN: r166372
2010-11-05 20:02:46 +01:00
Jakub Jelinek
ee01a467d1 re PR target/45670 (Less efficient x86 addressing mode selection on 4.6, causes -Os size regression from 4.5)
PR target/45670
	* expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
	instead of EXPAND_NORMAL for base expansion.

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

From-SVN: r166371
2010-11-05 20:00:27 +01:00
Joern Rennecke
444d6efeb6 re PR target/44754 (m32c_pragma_memregs / m32c_pragma_address warnings)
PR target/44754
	* config/m32c/m32c.c (m32_function_arg): Rename declaration to...
	(m32c_function_arg).  Add comma between arguments two and three.
	(m32c_promote_prototypes): Remove declaration.
	(current_function_special_page_vector): Likewise.
	(m32c_regno_reg_class): Change return type to enum reg_class.
	(m32c_pushm_popm): Use add_reg_note.
	(m32c_push_rounding): Change return type to unsigned int.
	(m32c_legitimize_reload_address): Cast argument 11 to push_reload to
	enum reload_type.
	(m32c_insert_attributes): Constify variable name.
	(m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
	(m32c_prepare_shift): Remove variable lref.
	(m32c_expand_movcc): Remove variable cmp.
	(m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
	(m32c_compare_redundant): Remove variable op2.
	* config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
	(m32c_pragma_memregs): Assign the number to target_memregs.
	(m32c_pragma_address): Remove variable var_str.
	* config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
	enum reg_class.
	(LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
	* config/m32c/bitops.md (andsi3): Add default case to switch.
	(iorsi3, xorsi3): Likewise.
	* config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
	* config/m32c/jump.md (call, call_value): Likewise.
	* config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
	(m32c_regno_reg_class): Likewise.
	(current_function_special_page_vector): Declare.

From-SVN: r166370
2010-11-05 18:46:22 +00:00
Uros Bizjak
b71e5eba5e config.gcc: Support --with-fpmath=avx for x86.
* config.gcc: Support --with-fpmath=avx for x86.
	* config/i386/avxmath.h: New.
	* doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.

From-SVN: r166369
2010-11-05 19:33:19 +01:00
Janus Weil
611c64f069 re PR fortran/45451 ([OOP] Inconsistent status of ALLOCATABLE components inside CLASS variables.)
2010-11-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45451
	PR fortran/46174
	* class.c (gfc_find_derived_vtab): Improved search for existing vtab.
	Add component '$copy' to vtype symbol for polymorphic deep copying.
	* expr.c (gfc_check_pointer_assign): Make sure the vtab is generated
	during resolution stage.
	* resolve.c (resolve_codes): Don't resolve code if namespace is already
	resolved.
	* trans-stmt.c (gfc_trans_allocate): Call '$copy' procedure for
	polymorphic ALLOCATE statements with SOURCE.

2010-11-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45451
	PR fortran/46174
	* gfortran.dg/class_19.f03: Modified.
	* gfortran.dg/class_allocate_6.f03: New.

From-SVN: r166368
2010-11-05 19:14:52 +01:00
Ian Lance Taylor
458ebeba0f * dwarf2.h (enum dwarf_source_language): Add DW_LANG_Go.
From-SVN: r166367
2010-11-05 17:56:58 +00:00
Joern Rennecke
6ab31ade8b re PR bootstrap/44756 ([meta-bug] --enable-werror-always issues)
PR bootstrap/44756
	* expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
	* haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
	to i.

From-SVN: r166366
2010-11-05 16:27:25 +00:00
Ian Lance Taylor
7f7c6d9158 tree.h (struct tree_type): Don't use descbits in GTY annotation.
* tree.h (struct tree_type): Don't use descbits in GTY
	annotation.
	* gengtype.c (walk_type): Don't recognize descbits option.

From-SVN: r166365
2010-11-05 15:53:25 +00:00
Joern Rennecke
3e926b4d92 re PR bootstrap/44756 ([meta-bug] --enable-werror-always issues)
PR bootstrap/44756
	* expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
	comparing it to a signed value.

From-SVN: r166360
2010-11-05 13:27:23 +00:00
Joseph Myers
c243beb03c defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG, [...]): Remove.
* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
	WORD_SWITCH_TAKES_ARG): Remove.
	* doc/options.texi (Args): Document.
	* doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
	* doc/tm.texi: Regenerate.
	* opt-functions.awk (switch_flags): Handle Args.
	* opts-common.c: Update comment on tm.h include.
	(decode_cmdline_option): Handle options with multiple arguments.
	Don't check WORD_SWITCH_TAKES_ARG for unknown options.
	* opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK):
	Define.
	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
	CL_COMMON): Update values.
	* system.h (WORD_SWITCH_TAKES_ARG): Poison.
	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
	* config/darwin.opt (Zsegaddr, sectalign, sectcreate,
	sectobjectsymbols, sectorder, segcreate, segprot): New.

From-SVN: r166359
2010-11-05 13:06:27 +00:00
H.J. Lu
d73ee4e74e Check 256bit AVX register in move expanders.
gcc/

2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
	256bit AVX register is used.
	(ix86_expand_vector_move_misalign): Likewise.
	(ix86_expand_vector_move): Replace use_avx256_p with
	VALID_AVX256_REG_MODE.

gcc/testsuite/

2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-vzeroupper-19.c: New.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r166358
2010-11-05 05:53:39 -07:00
Eric Botcazou
8b7e852901 Remove gcc/ prefixes
From-SVN: r166357
2010-11-05 11:43:53 +00:00
Joern Rennecke
365b0dba72 re PR target/44750 (pdp-11 fails to build)
PR target/44750
        * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
        change.  Set $@-warn.o to -Wno-error.

From-SVN: r166356
2010-11-05 11:27:16 +00:00
Jakub Jelinek
cba1eb614c re PR tree-optimization/46099 (ICE: in replace_ssa_name, at tree-cfg.c:5643 with -ftree-parallelize-loops -g)
PR tree-optimization/46099
	* tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
	if it is NULL and uid wasn't found in the hash table.  Just fold the
	result if it is NULL otherwise.  Insert other potentially needed
	stmts right before current stmt instead of on the entry edge.
	(struct elv_data): Add gsi and reset fields.
	(eliminate_local_variables_1): Adjust caller.  If take_address_of
	failed for debug stmt, set dta->reset and return.
	(eliminate_local_variables_stmt): Change STMT argument for GSI,
	pass GSI through to the callback, handle resetting of debug stmts.
	(eliminate_local_variables): Adjust caller.  Process debug stmts
	in second phase.

	* gcc.dg/autopar/pr46099.c: New test.

From-SVN: r166355
2010-11-05 12:15:28 +01:00
Jakub Jelinek
502c50846c re PR middle-end/43690 (Internal compiler error detected by avr-gcc.)
PR middle-end/43690
	* gimplify.c (gimplify_asm_expr): If a "m" input is a
	{pre,post}{in,de}crement, fail.

	* c-c++-common/pr43690.c: New test.

From-SVN: r166354
2010-11-05 12:11:50 +01:00
Jakub Jelinek
cb11504182 cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
* cfgexpand.c (expand_debug_expr): Handle MEM_REF
	with non-zero offset.

From-SVN: r166353
2010-11-05 12:08:01 +01:00
Iain Sandoe
a5ad8c30d6 NeXT runtime compatibility changes.
gcc/testsuite:

	* objc.dg/torture/forward-1.m: Restore for m32 NeXT.
	* objc.dg/demangle-1.m: Remove NeXT ifdef around +initialize 
	declaration and implementation.
	* objc.dg/property/dotsyntax-3.m: XFAIL NeXT m64 run.
	* obj-c++.dg/property/at-property-13.mm: Likewise.
	* obj-c++.dg/property/fsf-property-method-access.mm: Likewise.
	* obj-c++.dg/property/property-1.mm: Likewise.
	* obj-c++.dg/property/at-property-7.mm: Likewise.
	* obj-c++.dg/property/at-property-9.mm: Likewise.
	* obj-c++.dg/property/dotsyntax-2.mm: Likewise.
	* obj-c++.dg/property/at-property-10.mm: Likewise.
	* obj-c++.dg/property/synthesize-2.mm: Likewise.
	* obj-c++.dg/property/at-property-12.mm: Likewise.
	* obj-c++.dg/property/fsf-property-basic.mm: Likewise.
	* obj-c++.dg/property/fsf-property-named-ivar.mm: Likewise.
	* obj-c++.dg/property/at-property-6.mm: Likewise.
	* obj-c++.dg/property/at-property-8.mm: Likewise.
	* obj-c++.dg/property/dotsyntax-1.mm: Likewise.
	* obj-c++.dg/property/dotsyntax-3.mm: Likewise.
	* obj-c++.dg/property/at-property-11.mm: Likewise.
	* obj-c++.dg/template-8.mm: Likewise.
	* obj-c++.dg/encode-3.mm: Use abort (), cast char types.
	* obj-c++.dg/demangle-2.mm: Add +initialize:, XFAIL NeXT m64.
	* obj-c++.dg/property/at-property-2.mm: Comment out a case that ICEs and
	put a FIXME for this.
	* obj-c++.dg/property/property-2.mm: Remove.
	* obj-c++.dg/property/property-3.mm: Remove.

From-SVN: r166352
2010-11-05 10:03:54 +00:00