- 26 Oct, 2011 21 commits
-
-
From-SVN: r180538
Jason Merrill committed -
From-SVN: r180537
Jason Merrill committed -
libcpp/ * expr.c: (cpp_interpret_float_suffix, cpp_interpret_int_suffix, cpp_userdef_string_remove_type, cpp_userdef_string_add_type, cpp_userdef_char_remove_type, cpp_userdef_char_add_type, cpp_userdef_string_p, cpp_userdef_char_p, cpp_get_userdef_suffix): New. (cpp_classify_number): Classify unrecognized tokens as user-defined literals. * include/cpplib.h: Add new tokens for user-defined literals. * init.c: Add new preprocessor flag (cxx11). * lex.c: (lex_string, lex_raw_string): Handle user-defined literals including concatenation and promotion with suffixes. c-family/ * c-common.c (build_userdef_literal): New. * c-common.def: New tree code. * c-common.h (tree_userdef_literal): New tree struct and accessors. * c-lex.c (interpret_float): Add suffix parm. (c_lex_with_flags): Build literal tokens. cp/ * cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree. * cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator name tools. New tree code for user-defined literals. * cxx-pretty-print.h: (pp_cxx_userdef_literal) New. * cxx-pretty-print.c: (pp_cxx_userdef_literal) New. (pp_cxx_primary_expression, pp_cxx_expression): Use it. * decl.c: (cp_tree_node_structure): Return new tree code. (duplicate_decls): Check for raw vs. template operator conflicts. (grokfndecl, grokdeclarator): New checks for literal operators. * error.c: (dump_expr): Warn about user-defined literals in C++98 mode. (dump_function_name): Pretty printing. * mangle.c: (write_literal_operator_name): New. (write_unqualified_id, write_unqualified_name): Use it. * parser.c: (cp_parser_operator): Handle operator"". (cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal, cp_parser_userdef_string_literal): New. (cp_parser_primary_expression): Handle new user-defined literal tokens with new functions. * semantics.c: (potential_constant_expression_1): Add user-defined literals. * typeck.c (check_raw_literal_operator, check_literal_operator_args): New. From-SVN: r180536
Ed Smith-Rowland committed -
* Tweak last ChangeLog entry. From-SVN: r180532
Paolo Carlini committed -
re PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, and default template arguments) 2011-10-26 Paolo Carlini <paolo.carlini@oracle.com> * typeck.c (cp_build_addr_expr_1): Use BASELINK_P. * class.c (instantiate_type): Likewise. * pt.c (convert_nontype_argument_function, uses_template_parms, tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p): Likewise. * semantics.c (finish_decltype_type): Likewise. * decl2.c (mark_used): Likewise. * name-lookup.c (arg_assoc): Likewise. /cp 2011-10-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50870 * typeck.c (non_reference): Pass NULL_TREE through. /testsuite 2011-10-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50870 * g++.dg/cpp0x/decltype34.C: New. From-SVN: r180531
Paolo Carlini committed -
2011-10-26 Tom de Vries <tom@codesourcery.com> * gcc.c-torture/unsorted/HIcmp.c: Fix unaligned pointer. * gcc.c-torture/unsorted/HIset.c: Same. * gcc.c-torture/unsorted/SIcmp.c: Same. * gcc.c-torture/unsorted/SIset.c: Same. * gcc.c-torture/unsorted/SFset.c: Same. * gcc.c-torture/unsorted/UHIcmp.c: Same. * gcc.c-torture/unsorted/USIcmp.c: Same. * gcc.c-torture/unsorted/DFcmp.c: Same. From-SVN: r180528
Tom de Vries committed -
reload.c (reload_inner_reg_of_subreg): Change type of return value and type of OUTPUT parameter to bool and adjust. * reload.c (reload_inner_reg_of_subreg): Change type of return value and type of OUTPUT parameter to bool and adjust. Document MODE and OUTPUT parameters. Use HARD_REGISTER_P. Reorder final condition and improve associated comment. (push_reload): Clarify and update comments about reloading of subregs. Adjust calls to reload_inner_reg_of_subreg. Compute the class upfront for the reloading of subregs in the out case as well. From-SVN: r180526
Eric Botcazou committed -
PR debug/50826 * var-tracking.c (rtx_debug_expr_p): New. (use_type): Don't use debug exprs to track non-VTA variables. From-SVN: r180525
Alexandre Oliva committed -
* doc/invoke.texi (sink-frequency-threshold): Document. * tree-ssa-sink.c: Include params.h. (select_best_block): New function. (statement_sink_location): Use it. * params.def (SINK_FREQUENCY_THRESHOLD): New PARAM. From-SVN: r180524
Jeff Law committed -
gcc: PR target/48108 * config/darwin.c (top level): Amend comments concerning LTO output. (lto_section_num): New variable. (darwin_lto_section_e): New GTY. (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New. (LTO_NAMES_SECTION): Rename. (darwin_asm_named_section): Record LTO section counts and switches in a vec of darwin_lto_section_e. (darwin_file_start): Remove unused code. (darwin_file_end): Put an LTO section termination label. Handle output of the wrapped LTO sections, index and names table. libiberty: PR target/48108 * simple-object-mach-o.c (GNU_WRAPPER_SECTS, GNU_WRAPPER_INDEX, GNU_WRAPPER_NAMES): New macros. (simple_object_mach_o_segment): Handle wrapper scheme. (simple_object_mach_o_write_section_header): Allow the segment name to be supplied. (simple_object_mach_o_write_segment): Handle wrapper scheme. Ensure that the top-level segment name in the load command is empty. (simple_object_mach_o_write_to_file): Determine the number of sections during segment output, use that in writing the header. From-SVN: r180523
Iain Sandoe committed -
* config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded declaration. (rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp. (rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx. Use simple_return in pattern, emit instruction, and set jump_label. (rs6000_emit_prologue): Update for rs6000_emit_savres_rtx. Use simple_return rather than return. (emit_cfa_restores): New function. (rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap. Add missing cfa_restores for SAVE_WORLD. Add missing LR cfa_restore when using out-of-line gpr restore. Add missing LR and FP regs cfa_restores for out-of-line fpr restore. Consolidate code setting up cfa_restores. Formatting. Use LR_REGNO define. (rs6000_output_mi_thunk): Use simple_return rather than return. * config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise. (return_internal*): Likewise. (any_return, return_pred, return_str): New iterators. (return, conditional return insns): Provide both return and simple_return variants. * config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define. (REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13. Move r11 and r0 later to suit shrink-wrapping. From-SVN: r180522
Alan Modra committed -
2011-10-26 Richard Guenther <rguenther@suse.de> * lto-wrapper.c (run_gcc): Properly init/free obstack. From-SVN: r180521
Richard Guenther committed -
* config/i386/i386.md (UNSPEC_VSIBADDR): New. * config/i386/predicates.md (vsib_address_operand, vsib_mem_operator): New predicates. * config/i386/i386.c (ix86_print_operand_address): Handle UNSPEC_VSIBADDR addresses. * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>, avx2_gatherdi<mode>256): Adjust expanders to use MEM with UNSPEC_VSIBADDR address. (*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256): Adjust insns to use MEM with UNSPEC_VSIBADDR address. * gcc.target/i386/avx2-i32gatherd-1.c: Adjust scan-assembler regex to work also with -masm=intel and additionally test the xmm vs. ymm register type combination on mask/dest and in vsib. * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherd-3.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise. * gcc.target/i386/avx2-i32gatherps-1.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherps-3.c: Likewise. * gcc.target/i386/avx2-i32gatherq-1.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherq-3.c: Likewise. * gcc.target/i386/avx2-i64gatherd-1.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherd-3.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise. * gcc.target/i386/avx2-i64gatherps-1.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherps-3.c: Likewise. * gcc.target/i386/avx2-i64gatherq-1.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherq-3.c: Likewise. From-SVN: r180520
Jakub Jelinek committed -
2011-10-26 Tom de Vries <tom@codesourcery.com> PR tree-optimization/50763 * gcc.dg/pr50763-2.c: New test. From-SVN: r180519
Tom de Vries committed -
2011-10-26 Tom de Vries <tom@codesourcery.com> PR tree-optimization/50763 * tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2. From-SVN: r180518
Tom de Vries committed -
2011-10-26 Richard Guenther <rguenther@suse.de> PR lto/41844 * Makefile.in (lto-wrapper): Depend on and link against opts-common.o. (lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H). * lto-wrapper.c (get_options_from_collect_gcc_options): New function. (run_gcc): Use it. Filter out language specific options. From-SVN: r180517
Richard Guenther committed -
2011-10-26 Andreas Tobler <andreast@fgznet.ch> * config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the 32-bit target does. From-SVN: r180468
Andreas Tobler committed -
* Fix typo in last ChangeLog entry. From-SVN: r180467
Paolo Carlini committed -
2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR translation/46617 * gcc.c (main): Fix fatal_error string for translation. From-SVN: r180466
Paolo Carlini committed -
* gcc.dg/format/ms_c90-printf-1.c, gcc.dg/format/ms_c90-scanf-1.c: Update expected messages. From-SVN: r180465
Joseph Myers committed -
From-SVN: r180464
GCC Administrator committed
-
- 25 Oct, 2011 19 commits
-
-
* tree-eh.c (do_return_redirection): Remove return_value_p parameter. Change all callers. (lower_try_finally_nofallthru): Remove local return_val. (lower_try_finally_onedest): Likewise. (lower_try_finally_copy): Likewise. (lower_try_finally_switch): Likewise. From-SVN: r180459
Ian Lance Taylor committed -
2011-10-25 H.J. Lu <hongjiu.lu@intel.com> * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and remove "&& !TARGET_64BIT" (*mmx_maskmovq_rex): Removed. From-SVN: r180458
H.J. Lu committed -
PR rtl-optimization/46603 * reload.c (push_reload): In the out case, reload the subreg as well as the reg if it has word mode. From-SVN: r180457
Eric Botcazou committed -
dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily suppress debug info for the parent type. * dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily suppress debug info for the parent type. From-SVN: r180456
Eric Botcazou committed -
From-SVN: r180455
Eric Botcazou committed -
* include/std/condition_variable (condition_variable_any): Remove unused native_handle_type typedef. * src/condition_variable.cc (condition_variable): Add missing noexcept specifications. * 30_threads/condition_variable_any/requirements/typedefs.cc: Remove. From-SVN: r180454
Jonathan Wakely committed -
These can be generated by vec_perm_const now. We could keep the patterns around, as technically it may be less work, but this exercises a code path needed by less primary platforms. * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove. (vec_extract_even<mode>, vec_extract_odd<mode>): Remove. From-SVN: r180453
Richard Henderson committed -
The ones that expand to VPERM can be handled by generic code. The even v4si and v4sf expanders remain until vector.md can be updated to not invoke them directly. * config/rs6000/altivec.md (vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si, vec_extract_oddv4sf): Remove. From-SVN: r180452
Richard Henderson committed -
* config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf, vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si, vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi, vec_interleave_highv4sf, vec_interleave_lowv4sf, vec_interleave_highv4si, vec_interleave_lowv4si, vec_interleave_highv8hi, vec_interleave_lowv8hi, vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove. From-SVN: r180451
Richard Henderson committed -
* expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop. [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise. [VEC_INTERLEAVE_LOW_EXPR]: Likewise. * optabs.c (expand_binop): Implement vec_interleave_high_optab, vec_interleave_low_optab, vec_extract_even_optab, vec_extract_odd_optab with expand_vec_perm. (can_vec_perm_for_code_p): New. * optabs.h: Update. * tree-vect-data-refs.c (vect_strided_store_supported): Allow for fallback via can_vec_perm_for_code_p. (vect_strided_load_supported): Likewise. * tree-vect-generic.c (expand_vector_operations_1): Never lower VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR, VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR. From-SVN: r180450
Richard Henderson committed -
The can_vec_perm_p interface changed to use a C integer array. This allows easy re-use from the rtl level and the gimple level within the vectorizer. It allows both to determine if a given permutation is (un-)supported without having to create tree/rtl garbage. The expand_vec_perm interface changed to use rtl. This allows easy re-use from the rtl level, so that expand_vec_perm can be used in the fallback implementation of other optabs. * target.def (vec_perm_const_ok): Change parameters to mode and array of indicies. * doc/tm.texi: Rebuild. * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change parameters to mode and array of indicies. * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here. * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p. Change parameters to mode and array of indicies. (expand_vec_perm_1): Rename from expand_vec_perm_expr_1. (expand_vec_perm): Rename from expand_vec_perm_expr. Change parameters to mode and rtx inputs. Try lowering to QImode vec_perm_const before trying fully variable permutation. * optabs.h: Update decls. * tree-vect-generic.c (lower_vec_perm): Extract array of indices from VECTOR_CST to pass to can_vec_perm_p. * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type from int pointer to unsigned char pointer. (vect_transform_slp_perm_load): Update for change to can_vec_perm_p. * tree-vect-stmts.c (perm_mask_for_reverse): Likewise. From-SVN: r180449
Richard Henderson committed -
From-SVN: r180448
Richard Henderson committed -
PR libstdc++/50862 * include/std/condition_variable (condition_variable_any::wait): Fix deadlock and ensure _Lock::lock() is called on exit. (condition_variable_any::native_handle): Remove, as per LWG 1500. * testsuite/30_threads/condition_variable_any/50862.cc: New. From-SVN: r180446
Jonathan Wakely committed -
PR target/48851 * inclhack.def (void_null): New bypass. * fixincl.x: Regenerate. From-SVN: r180445
Mike Stump committed -
From-SVN: r180444
Mike Stump committed -
PR c++/50866 PR c++/41449 * semantics.c (maybe_cleanup_point_expr_void): No longer static. * typeck2.c (split_nonconstant_init_1): Use it. * cp-tree.h: Declare it. * decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR. From-SVN: r180442
Jason Merrill committed -
PR c++/49996 * tree.c (stabilize_init): Stabilize scalar elements of a CONSTRUCTOR, too. From-SVN: r180441
Jason Merrill committed -
From-SVN: r180440
Ian Lance Taylor committed -
From Rainer Orth. From-SVN: r180439
Ian Lance Taylor committed
-