1. 26 Oct, 2011 21 commits
    • build_string comments · 1ca3916f
      From-SVN: r180537
      Jason Merrill committed
    • Implement C++11 user-defined literals. · 3ce4f9e4
      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
    • 2011-10-26 Paolo Carlini <paolo.carlini@oracle.com> · 7f808cad
      	* 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… · c5ce25ce
      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
    • HIcmp.c: Fix unaligned pointer. · e3c1bb61
      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… · d9d09ca2
      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
    • re PR debug/50826 (bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor) · bfd5f9f5
      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
    • invoke.texi (sink-frequency-threshold): Document. · 1cc17820
      	* 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
    • re PR target/48108 (lto should be containerized in a single mach-o section on darwin) · b20577ea
      
      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
    • rs6000.c (rs6000_make_savres_rtx): Delete unneeded declaration. · d44b26bd
      	* 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
    • lto-wrapper.c (run_gcc): Properly init/free obstack. · 4559db79
      2011-10-26  Richard Guenther  <rguenther@suse.de>
      
      	* lto-wrapper.c (run_gcc): Properly init/free obstack.
      
      From-SVN: r180521
      Richard Guenther committed
    • i386.md (UNSPEC_VSIBADDR): New. · e43451aa
      	* 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
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · 6c137ca0
      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
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · 9e1d5f49
      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
    • re PR driver/41844 (lto1: warning: unknown register name: line-length-none) · f31c0018
      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
    • freebsd64.h (LINK_SPEC): Emit the same warning as the 32-bit target does. · fd444648
      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
    • 2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> · 0a9ef972
      	
      	* Fix typo in last ChangeLog entry.
      
      From-SVN: r180467
      Paolo Carlini committed
    • re PR driver/46617 (String concatenation fools extraction for translation.) · f891a4ac
      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
    • ms_c90-printf-1.c, [...]: Update expected messages. · 1be82918
      	* 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
    • Daily bump. · e6bccf31
      From-SVN: r180464
      GCC Administrator committed
  2. 25 Oct, 2011 19 commits