aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-05-25fix pr markerJason Merrill1-1/+1
From-SVN: r174259
2011-05-25re PR c++/48536 ([C++0x] Automatic Enumerator Incrementation is not ↵Jason Merrill5-7/+61
compliant with Clause 7.2/5) PR c++/48536 * decl.c (build_enumerator): If incremented enumerator won't fit in previous integral type, find one it will fit in. From-SVN: r174258
2011-05-25re PR c++/48599 ([C++0x] no diagnostic for invalid use of auto with array ↵Jason Merrill4-0/+16
declarator) PR c++/48599 * decl.c (create_array_type_for_decl): Complain about array of auto. From-SVN: r174257
2011-05-25re PR c++/49156 ([C++0x] Error reporting routines re-entered)Jason Merrill4-0/+34
PR c++/49156 * error.c (dump_template_bindings): Set processing_template_decl for a partial instantiation. From-SVN: r174256
2011-05-25re PR c++/45401 ([C++0x] reference collapsing and reference qualifiers)Jason Merrill4-6/+23
PR c++/45401 * decl.c (grokdeclarator): Don't change type when adding rvalue ref to another reference type. From-SVN: r174255
2011-05-26godump.c (go_format_type): Check for invalid type names, pointer target ↵Ian Lance Taylor2-34/+50
types, and struct field types. * godump.c (go_format_type): Check for invalid type names, pointer target types, and struct field types. From-SVN: r174253
2011-05-26Daily bump.GCC Administrator1-1/+1
From-SVN: r174252
2011-05-25re PR c++/44311 ([C++0x] no error with switch over enum class and integer case)Jason Merrill5-6/+78
PR c++/44311 * decl.c (case_conversion): New. (finish_case_label): Use it. From-SVN: r174231
2011-05-25print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.Jason Merrill4-1/+13
* print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED. * cp/ptree.c (cxx_print_xnode): Handle ARGUMENT_PACK_SELECT. From-SVN: r174230
2011-05-25re PR c++/45698 (C++0x Variadic Templates: Infinite template recursion ↵Jason Merrill4-0/+23
rather than an error message) PR c++/45698 * pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT. From-SVN: r174229
2011-05-25re PR c++/46005 ([C++0x] Don't allow "auto" as the simple-type-specifier of ↵Jason Merrill4-0/+14
a typedef) PR c++/46145 * decl.c (grokdeclarator): Complain about auto typedef. From-SVN: r174228
2011-05-25re PR c++/46245 ([C++0x] rejects function with late-specified return type as ↵Jason Merrill6-11/+28
a non-type template parameter) PR c++/46245 * decl.c (grokdeclarator): Complain later for auto parameter. * pt.c (splice_late_return_type): Handle use in a template type-parameter. From-SVN: r174227
2011-05-25re PR c++/46696 ([C++0x] Implicit copy constructor can't construct array of ↵Jason Merrill4-1/+26
subtype with user-defined copy constructor.) PR c++/46696 * typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN. From-SVN: r174226
2011-05-25re PR c++/47184 ([C++0x] initialization construct interpreted as function ↵Jason Merrill4-2/+29
declaration‏‏) PR c++/47184 * parser.c (cp_parser_parameter_declaration): Recognize list-initialization. (cp_parser_direct_declarator): Check for the closing paren before parsing definitely. From-SVN: r174225
2011-05-25sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.Uros Bizjak2-4/+23
* config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern. From-SVN: r174224
2011-05-25Put back "register_operand" check in 32bit QI ext patterns.H.J. Lu2-6/+14
2011-05-25 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.md (*movqi_extv_1)): Put back "register_operand" check in "type" calculation. (*movqi_extzv_2): Likewise. From-SVN: r174223
2011-05-25c-common.c (def_fn_type): Remove extra va_end.Jakub Jelinek4-2/+8
* c-common.c (def_fn_type): Remove extra va_end. * gcc-interface/utils.c (def_fn_type): Remove extra va_end. From-SVN: r174218
2011-05-25Update pause intrinsic.H.J. Lu2-1/+7
2011-05-25 H.J. Lu <hongjiu.lu@intel.com> * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic. From-SVN: r174217
2011-05-25re PR bootstrap/49160 (Bootstrap failure)Bernd Schmidt2-5/+37
PR bootstrap/49160 * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2, __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3, __divtc3): Wrap definitions in #ifndef. From-SVN: r174216
2011-05-25fp16-compile-none-1.c: Update expected error.Janis Johnson6-4/+16
* gcc.target/arm/fp16-compile-none-1.c: Update expected error. * g++.dg/abi/packed1.C: Suppress warning. * g++.dg/warn/Wunused-parm-3.C: Likewise. * g++.dg/template/stdarg1.C: Likewise. * g++.dg/other/packed1.C: Remove arm from xfail list. From-SVN: r174213
2011-05-25Replace q_regs_operand with QIreg_operand in QI ext patterns.H.J. Lu3-13/+26
2011-05-25 H.J. Lu <hongjiu.lu@intel.com> PR target/49142 * config/i386/i386.md (*movqi_extv_1_rex64): Remove "register_operand" check and replace q_regs_operand with QIreg_operand in "type" calculation. (*movqi_extv_1): Likewise. (*movqi_extzv_2_rex64): Likewise. (*movqi_extzv_2): Likewise. * config/i386/predicates.md (QIreg_operand): New. From-SVN: r174211
2011-05-25tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix type-based offset ↵Richard Guenther2-20/+51
disambiguation... 2011-05-25 Richard Guenther <rguenther@suse.de> * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix type-based offset disambiguation, streamline MEM_REF and TARGET_MEM_REF handling. From-SVN: r174206
2011-05-25re PR c++/48935 ([C++0x] Name lookup error at enum class)Jason Merrill5-5/+19
PR c++/48935 * parser.c (cp_parser_constructor_declarator_p): Don't check constructor_name_p for enums. (cp_parser_diagnose_invalid_type_name): Correct error message. From-SVN: r174205
2011-05-25re PR c++/45418 ([C++0x] can't initialize array of non-trivial type with ↵Jason Merrill4-0/+29
brace-init) PR c++/45418 * init.c (perform_member_init): Handle list-initialization of array of non-trivial class type. From-SVN: r174204
2011-05-25re PR c++/45080 ([C++0x] Rejects lambda to function pointer conversion ↵Jason Merrill5-1/+26
inside function template) PR c++/45080 * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op. * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P. From-SVN: r174203
2011-05-25re PR c++/48292 ([C++0x] "sorry, unimplemented: use of 'type_pack_expansion' ↵Jason Merrill4-5/+36
in template") PR c++/48292 * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of function parameter pack. (tsubst_pack_expansion): Likewise. From-SVN: r174201
2011-05-25cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has TS_COMMON.Jason Merrill2-0/+6
* cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has TS_COMMON. From-SVN: r174200
2011-05-25Remove spurious ChangeLog entryWilliam Schmidt1-6/+0
From-SVN: r174198
2011-05-25Implement x86 pause intrinsic.H.J. Lu7-0/+65
gcc/ 2011-05-25 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE. (bdesc_special_args): Add pause intrinsic. * config/i386/i386.md (UNSPEC_PAUSE): New. (pause): Likewise. (*pause): Likewise. * config/i386/ia32intrin.h (__pause): Likewise. * doc/extend.texi (X86 Built-in Functions): Add documentation for pause intrinsic. gcc/testsuite/ 2011-05-25 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/pause-1.c: New. From-SVN: r174197
2011-05-25re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, ↵Bill Schmidt2-1/+63
0.75)+y on powerpc) 2011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/46728 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New. (execute_cse_sincos): Add switch case for BUILT_IN_POW. From-SVN: r174196
2011-05-25move TS_EXP to be a substructure of TS_TYPEDNathan Froyd5-8/+30
move TS_EXP to be a substructure of TS_TYPED gcc/ * tree.h (struct tree_exp): Inherit from struct tree_typed. * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED instead of TS_COMMON. gcc/lto/ * lto.c (lto_ft_typed): New function. (lto_ft_common): Call it. (lto_ft_constructor): Likewise. (lto_ft_expr): Likewise. (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing TREE_CHAIN. From-SVN: r174192
2011-05-25libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX ↵Bernd Schmidt19-61/+244
is defined. gcc/ * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined. (__N): New macro. (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2, __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3, __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack, __clz_tab): Define using __N. (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if COMPAT_SIMODE_TRAPPING_ARITHMETIC. * target.def (libfunc_gnu_prefix): New hook. * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document. (TARGET_LIBFUNC_GNU_PREFIX): Add hook. * doc/tm.texi: Regenerate. * system.h (LIBGCC2_GNU_PREFIX): Poison. * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into account. (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise. (init_optabs): Likewise for the bswap libfuncs. * tree.c (build_common_builtin_nodes): Likewise for complex multiply and divide. * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir). * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise. * libgcc-std.ver: Remove. * Makefile.in (srcdirify): Handle $$(libgcc_objdir). * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for libgcc-std.ver. * config/i386/t-linux (SHLIB_MAPFILES): Likewise. * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise. * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise. * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise. * config/sparc/t-linux (SHLIB_MAPFILES): Likewise. * config/i386/t-linux (SHLIB_MAPFILES): Likewise. * config/i386/t-linux (SHLIB_MAPFILES): Likewise. * config/fixed-bit.h (FIXED_OP): Define differently depending on LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores. (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise. libgcc/ * libgcc-std.ver.in: New file. * Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New variables. (libgcc-std.ver): New rule. * config/t-gnu-prefix: New file. From-SVN: r174187
2011-05-25lto-streamer-out.c (output_record_start): Use lto_output_enumJan Hubicka5-11/+96
* lto-streamer-out.c (output_record_start): Use lto_output_enum (lto_output_tree): Use output_record_start. * lto-streamer-in.c (input_record_start): Use lto_input_enum (lto_get_pickled_tree): Use input_record_start. * lto-section-in.c (lto_section_overrun): Turn into fatal error. (lto_value_range_error): New function. * lto-streamer.h (lto_value_range_error): Declare. (lto_output_int_in_range, lto_input_int_in_range): New functions. (lto_output_enum, lto_input_enum): New macros. From-SVN: r174186
2011-05-25adaint.c (__gnat_to_canonical_file_list_next): Use array initialization ↵Kai Tietz2-1/+6
instead of const/none-const pointer assignment. 2011-05-25 Kai Tietz <ktietz@redhat.com> * adaint.c (__gnat_to_canonical_file_list_next): Use array initialization instead of const/none-const pointer assignment. From-SVN: r174185
2011-05-25common.opt (flag_stack_usage_info): New variable.Eric Botcazou24-47/+182
* common.opt (flag_stack_usage_info): New variable. (-Wstack-usage): New option. * doc/invoke.texi (Warning options): Document -Wstack-usage. * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case. <OPT_fstack_usage>: Likewise. * toplev.c (output_stack_usage): Handle -Wstack-usage. * calls.c (expand_call): Test flag_stack_usage_info variable instead of flag_stack_usage. (emit_library_call_value_1): Likewise. * explow.c (allocate_dynamic_stack_space): Likewise. * function.c (instantiate_virtual_regs ): Likewise. (prepare_function_start): Likewise. (rest_of_handle_thread_prologue_and_epilogue): Likewise. * config/alpha/alpha.c (alpha_expand_prologue): Likewise. * config/arm/arm.c (arm_expand_prologue): Likewise. (thumb1_expand_prologue): Likewise. * config/avr/avr.c (expand_prologue): Likewise. * config/i386/i386.c (ix86_expand_prologue): Likewise. * config/ia64/ia64.c (ia64_expand_prologue): Likewise. * config/m68k/m68k.c (m68k_expand_prologue): Likewise. * config/mips/mips.c (mips_expand_prologue): Likewise. * config/pa/pa.c (hppa_expand_prologue): Likewise. * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise. * config/s390/s390.c (s390_emit_prologue): Likewise. * config/sh/sh.c (sh_expand_prologue): Likewise. * config/sparc/sparc.c (sparc_expand_prologue): Likewise. * config/spu/spu.c (spu_expand_prologue): Likewise. From-SVN: r174182
2011-05-25gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.Richard Guenther2-4/+17
2011-05-25 Richard Guenther <rguenther@suse.de> * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs. (gimple_canonical_types_compatible_p): Likewise. From-SVN: r174181
2011-05-25re PR middle-end/49062 (Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY ↵Jan Hubicka2-1/+7
node in a same_comdat_group list) 2011-05-25 Jan Hubicka <jh@suse.cz> PR middle-end/49062 * ipa.c (function_and_variable_visibility): Only add to same comdat group list if DECL_ONE_ONLY. From-SVN: r174180
2011-05-25re PR rtl-optimization/49014 (ICE: in reset_sched_cycles_in_current_ebb, at ↵Andrey Belevantsev2-1/+6
sel-sched.c:7132 with even more insane set of flags) PR rtl-optimization/49014 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi. From-SVN: r174172
2011-05-25re PR c/49128 (-march=native generates unsupported instructions)Jakub Jelinek2-1/+6
PR target/49128 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo. From-SVN: r174171
2011-05-25cp-objcp-common.c (cp_common_init_ts): Mark CTOR_INITIALIZER as TS_TYPED.Jakub Jelinek2-0/+4
* cp-objcp-common.c (cp_common_init_ts): Mark CTOR_INITIALIZER as TS_TYPED. From-SVN: r174170
2011-05-25re PR c++/49136 ([C++0x][constexpr] Incorrect constexpr c'tor evaluation ↵Jakub Jelinek5-2/+104
with bitfields) PR c++/49136 * semantics.c (cxx_eval_bit_field_ref): Handle the case when BIT_FIELD_REF doesn't cover only a single field. * g++.dg/cpp0x/constexpr-bitfield2.C: New test. * g++.dg/cpp0x/constexpr-bitfield3.C: New test. From-SVN: r174168
2011-05-25re PR rtl-optimization/48757 (internal compiler error: in compensate_edge, ↵Vladimir Makarov4-4/+79
at reg-stack.c:2788) 2011-05-24 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/48757 * ira-build.c (loop_with_eh_edge_p): Rename to loop_with_complex_edge_p, check edges on complexity, make function conditional. (mark_loops_for_removal): Make call of loop_with_complex_edge_p conditional. 2011-05-24 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/48757 * gfortran.dg/pr48757.f: New test case. From-SVN: r174165
2011-05-25Daily bump.GCC Administrator1-1/+1
From-SVN: r174157
2011-05-24re PR c++/49042 ([C++0x] wrong "protected" when using template and decltype)Jason Merrill4-4/+28
PR c++/49042 * pt.c (get_mostly_instantiated_function_type): Use push_deferring_access_checks rather than set flag_access_control. From-SVN: r174151
2011-05-24sparc.c (sparc_option_override): If not set by the user, force ↵Eric Botcazou2-0/+11
flag_ira_share_save_slots to 0. * config/sparc/sparc.c (sparc_option_override): If not set by the user, force flag_ira_share_save_slots to 0. From-SVN: r174148
2011-05-24var-tracking.c (compute_cfa_pointer): Adjust head comment.Eric Botcazou2-4/+25
* var-tracking.c (compute_cfa_pointer): Adjust head comment. (vt_initialize): Set PROLOGUE_BB unconditionally. Add block comment about CFA_BASE_RTX machinery. Reset FP_CFA_OFFSET to -1 on all invalid paths. Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1. From-SVN: r174146
2011-05-24In libobjc/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-0/+40
In libobjc/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com> PR libobjc/48177 * selector.c (__sel_register_typed_name): Use sel_types_match() instead of strcmp() to compare selector types (Suggestion by Richard Frith-Macdonald <rfm@gnu.org>). In gcc/testsuite/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com> PR libobjc/48177 * objc.dg/pr48177.m: New testcase. From-SVN: r174143
2011-05-24In gcc/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero8-9/+144
In gcc/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/48187 * c-parser.c (c_parser_objc_class_instance_variables): More robust parsing of syntax error in ObjC instance variable lists. In particular, avoid an infinite loop if there is a stray ']'. Updated error message. In gcc/cp/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>, * parser.c (cp_parser_objc_class_ivars): Deal gracefully with a syntax error in declaring an ObjC instance variable. In gcc/testsuite/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/48187 * objc.dg/pr48187.m: New testcase. * obj-c++.dg/pr48187.mm: New testcase. * objc.dg/ivar-extra-semicolon.m: New testcase. From-SVN: r174142
2011-05-24godump.c (go_define): Don't accept a string immediately after another operand.Ian Lance Taylor2-1/+10
* godump.c (go_define): Don't accept a string immediately after another operand. From-SVN: r174141
2011-05-24godump.c (struct godump_container): Add invalid_hash field.Ian Lance Taylor2-16/+37
* godump.c (struct godump_container): Add invalid_hash field. (go_format_type): Return false if type is found in invalid_hash. (go_output_typedef): Add invalid type to invalid_hash. (go_finish): Create and delete invalid_hash. From-SVN: r174140