1. 21 Nov, 2011 18 commits
    • sem_ch6.adb (Is_Public_Subprogram_For): New procedure · a4901c08
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
      	(Process_PPCs): Invariants only apply to public subprograms.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
      	restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* a-finali.ads: Use pragma Pure_12 for this unit
      	* aspects.adb: Add aspect Pure_12
      	* aspects.ads: Add aspect Pure_12
      	* opt.ads: Add note on Pure_12
      	* par-prag.adb: Add dummy entry for Pure_12
      	* sem_prag.adb: Implement Pure_12 pragma
      	* snames.ads-tmpl: Add Entry for Pure_12
      
      2011-11-21  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* vms_data.ads: Add qualifiers for new gnatpp options
      	'--call_threshold' and '--par_threshold".
      	* gnat_ugn.texi: Add description for new gnatpp options
      	'--call_threshold' and '--par_threshold".
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* lib.ads: Minor reformatting.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* lib-load.ads: Add comment.
      
      From-SVN: r181563
      Arnaud Charlet committed
    • sem_elab.adb: Minor reformatting · 4bf201ed
      2011-11-21  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_elab.adb: Minor reformatting
      
      From-SVN: r181562
      Arnaud Charlet committed
    • [multiple changes] · 30168043
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch6.adb: Minor reformatting.
      
      2011-11-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Check_Formal_Package_Instance): If a formal
      	subprogram of the formal package is covered by an others
      	association with a box initialization, no check is needed
      	against the actual in the instantiation of the formal package.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
      	elab warning from within precondition/postcondition etc.
      
      From-SVN: r181561
      Arnaud Charlet committed
    • [multiple changes] · bdf69d33
      2011-11-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
      	with out parameters may generate assignments to force constraint
      	checks. These checks must be properly placed in the code after the
      	declaration or statement that contains the call.
      
      2011-11-21  Fedor Rybin  <frybin@adacore.com>
      
      	* gnat_ugn.texi: Adding info on current gnattest limitations an
      	support of -X option.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
      
      From-SVN: r181559
      Arnaud Charlet committed
    • 2011-11-21 Paolo Carlini <paolo.carlini@oracle.com> · f3670c00
      	* Fix last ChangeLog entry.
      
      From-SVN: r181558
      Paolo Carlini committed
    • re PR libstdc++/51185 ([C++0x] false-positive results of std::is_constructible) · 5db25ab1
      2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>
      
      	PR libstdc++/51185
      	* include/std/type_traits (__is_base_to_derived_ref,
      	__is_lvalue_to_rvalue_ref): Fix.
      	* testsuite/20_util/is_constructible/51185.cc: New.
      	* testsuite/20_util/is_constructible/value-2.cc: Extend.
      
      From-SVN: r181557
      Daniel Krugler committed
    • 2011-11-21 Paolo Carlini <paolo.carlini@oracle.com> · bbee3356
      	* Fix last ChangeLog entry.
      
      From-SVN: r181556
      Paolo Carlini committed
    • tuple (__conv_types, [...]): Remove. · a7cd7b60
      2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/tuple (__conv_types, __one_by_one_convertible,
      	__all_convertible): Remove.
      	(tuple<>::tuple(_UElements&&...),
      	tuple<>::tuple(const tuple<_UElements...>&),
      	tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322.
      
      From-SVN: r181555
      Paolo Carlini committed
    • avr.h (struct base_arch_s): Add field sfr_offset. · 5436efaa
      	* config/avr/avr.h (struct base_arch_s): Add field sfr_offset.
      	* config/avr/avr-devices.c: Ditto. And initialize it.
      	* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in define
      	__AVR_SFR_OFFSET__.
      	* config/avr/avr-protos.h (out_movqi_r_mr, out_movqi_mr_r): Remove.
      	(out_movhi_r_mr, out_movhi_mr_r): Remove.
      	(out_movsi_r_mr, out_movsi_mr_r): Remove.
      	* config/avr/avr.md (*cbi, *sbi): Use %i instead of %m-0x20.
      	(*insv.io, *insv.not.io): Ditto.
      	* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r): Make static.
      	(print_operand): Implement "%i" to print address as I/O address.
      	(output_movqi): Clean up call of out_movqi_mr_r.
      	(output_movhi): Clean up call of out_movhi_mr_r.
      	(avr_file_start): Use avr_current_arch->sfr_offset instead of
      	magic -0x20. Use TMP_REGNO, ZERO_REGNO instead of 0, 1.
      	(avr_out_sbxx_branch): Use %i instead of %m-0x20.
      	(out_movqi_r_mr, out_movqi_mr_r): Ditto. And make static.
      	(out_movhi_r_mr, out_movhi_mr_r): Ditto. And use avr_asm_len.
      	(out_shift_with_cnt): Clean up code: Use avr_asm_len.
      	(output_movsisf): Use output_reload_insisf for all CONSTANT_P sources.
      	(avr_out_movpsi): USE avr_out_reload_inpsi for all CONSTANT_P sources.
      	Clean up call of avr_out_store_psi.
      	(output_reload_in_const): Don't cut symbols longer than 2 bytes.
      	(output_reload_insisf): Filter CONST_INT_P or CONST_DOUBLE_P to
      	try if setting pre-cleared register is advantageous.
      	(avr_out_plus_1): Use gen_int_mode instead of GEN_INT.
      
      From-SVN: r181552
      Georg-Johann Lay committed
    • re PR target/49313 (Inefficient libgcc implementations for avr) · 989bdb74
      	PR target/49313
      	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
      	(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
      	* config/avr/lib1funcs.S (wmov): New assembler macro.
      	(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
      	(__moddi3, __divdi3, __divdi3_moddi3): New functions.
      	(__udivmod64): New function.
      	(__negdi2): New function.
      
      From-SVN: r181551
      Georg-Johann Lay committed
    • * config.host (*-*-freebsd[12], *-*-freebsd[12].*, · 515a0cfc
      	*-*-freebsd*aout*): Remove.
      
      From-SVN: r181550
      Gerald Pfeifer committed
    • expr.c (expand_expr_real_1): Correctly handle strict volatile bitfield loads… · e5fe4319
      expr.c (expand_expr_real_1): Correctly handle strict volatile bitfield loads smaller than mode size.
      
      2011-11-20  Joey Ye  <joey.ye@arm.com>
      
      	* expr.c (expand_expr_real_1): Correctly handle strict volatile
      	bitfield loads smaller than mode size.
      
      testsuite:
      
      	* gcc.dg/volatile-bitfields-1.c: New.
      
      From-SVN: r181549
      Joey Ye committed
    • * pt.c (tsubst_pack_expansion): Fix SFINAE. · 25a96761
      From-SVN: r181548
      Jason Merrill committed
    • re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well) · c67dd256
      	PR c++/48322
      gcc/cp/
      	* cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
      	* cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
      	* pt.c (tsubst_pack_expansion): Set and use it.
      	(iterative_hash_template_arg): Hash it.
      	(template_args_equal): Compare it.
      	(comp_template_args_with_info): Handle nulls.
      	* tree.c (cp_walk_subtrees): Walk it.
      	* typeck.c (structural_comptypes): Compare it.
      	* ptree.c (cxx_print_type): Print it.
      libstdc++-v3/
      	* include/std/tuple (tuple(_UElements&&...)): Fix SFINAE.
      
      From-SVN: r181547
      Jason Merrill committed
    • pt.c (type_unification_real): Set input_location during default arg instantiation. · 80ca43a3
      	* pt.c (type_unification_real): Set input_location
      	during default arg instantiation.
      
      From-SVN: r181546
      Jason Merrill committed
    • update_web_docs_svn: Make $DOCSDIR group writable after creating it. · 6a4b4d31
      	* update_web_docs_svn: Make $DOCSDIR group writable after
      	creating it.
      
      From-SVN: r181545
      Gerald Pfeifer committed
    • static-object.mk (c_flags-$o): Save c_flags. · 0115d17f
      	* static-object.mk (c_flags-$o): Save c_flags.
      	($(base)$(objext)): Use it.
      
      From-SVN: r181544
      Hans-Peter Nilsson committed
    • Daily bump. · a0a49ff5
      From-SVN: r181543
      GCC Administrator committed
  2. 20 Nov, 2011 17 commits
    • mips: Install the __sync libfuncs for mips16 · 722d8b7b
              * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.
      
      From-SVN: r181539
      Richard Henderson committed
    • re PR c++/51230 (Broken diagnostic: 'template_parm_index' not supported by dump_type) · fcb13a10
      /cp
      2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51230
      	* pt.c (unify_inconsistency): Handle non-type parameters better.
      	* error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.
      
      /cp
      2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51230
      	* g++.dg/template/error46.C: New.
      
      From-SVN: r181538
      Paolo Carlini committed
    • re PR target/51235 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn)… · fd9ee597
      re PR target/51235 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn) with -O -ftree-vectorize -mavx2 -mxop)
      
      	PR target/51235
      	* config/i386/i386.c (ix86_expand_vcond): Generate TARGET_XOP
      	patterns for supported mode only.
      
      	PR target/51236
      	* config/i386/i386.c (ix86_expand_builtin)
      	<IX86_BUILTIN_GATHERALTSIV4DI>: Use CODE_FOR_avx2_gathersiv4di.
      
      testsuite/ChangeLog:
      
      	PR target/51235
      	* gcc.target/i386/pr51235.c: New test.
      
      	PR target/51236
      	* gcc.target/i386/pr51236.c: New test.
      
      From-SVN: r181537
      Uros Bizjak committed
    • binders.h: Fix examples in doxygen comments and suggest using std::bind instead. · 215c6c97
      	* include/backward/binders.h: Fix examples in doxygen comments and
      	suggest using std::bind instead.
      
      From-SVN: r181535
      Jonathan Wakely committed
    • Fix grammar in ChangeLog entry. · 0c1c870b
      From-SVN: r181534
      Jonathan Wakely committed
    • * doc/xml/manual/status_cxx2011.xml: Fix docbook markup. · c37e6675
      From-SVN: r181533
      Jonathan Wakely committed
    • appendix_contributing.xml: Do not use "here" as link text. · 062a9025
      	* doc/xml/manual/appendix_contributing.xml: Do not use "here" as link
      	text.
      	* doc/xml/faq.xml: Likewise. Do not request standard library issues
      	to be reported to the libstdc++ mailing list.
      	* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
      	behaviour.
      	* doc/xml/manual/status_cxxtr1.xml: Likewise.
      	* doc/xml/manual/utilities.xml: Fix grammar, probably caused by a
      	global search and replace of "part" by "chapter".
      	* doc/xml/manual/shared_ptr.xml: Remove outdated information.
      	* doc/xml/manual/messages.xml: Be more specific about systems where
      	using 'int' for catalog handle is not a problem, mentioned LWG issue.
      
      From-SVN: r181532
      Jonathan Wakely committed
    • i386.md (UNSPEC_MOVNTI): Remove. · aa198500
      	* config/i386/i386.md (UNSPEC_MOVNTI): Remove.
      	(UNSPEC_MOVNTQ): New unspec.
      	* config/i386/mmx.md (sse_movntq): Rename from sse_movntdi.
      	Use UNSPEC_MOVNTQ instead of UNSPEC_MOVNT.
      	* config/i386/sse.md (sse2_movnti<mode>): Use UNSPEC_MOVNT instead of
      	UNSPEC_MOVNTI.
      	(STORENT_MODE): Add DI and V4DI modes.
      
      From-SVN: r181531
      Uros Bizjak committed
    • [multiple changes] · 03e1048e
      2011-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch6.adb, exp_util.adb: Minor reformatting
      
      2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sinfo.ads (Reference): Document that it is OK to set
      	Is_Known_Non_Null on a temporary initialized to a N_Reference
      	node.
      
      2011-11-20  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
      	for Source list.
      
      From-SVN: r181530
      Arnaud Charlet committed
    • exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local… · 74cab21a
      exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local variable and attach the temporary to it.
      
      2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
      	Declare NEW_EXPR local variable and attach the
      	temporary to it.  Set Is_Known_Non_Null on the temporary.
      	(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
      	* exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
      	the temporary created to hold the 'Reference of the expression,
      	if any.
      	* checks.adb (Install_Null_Excluding_Check): Bail out for the
      	Get_Current_Excep.all.all idiom generated by the expander.
      
      From-SVN: r181529
      Eric Botcazou committed
    • trans.c (struct language_function): Add GNAT_RET. · 088b91c7
      	* gcc-interface/trans.c (struct language_function): Add GNAT_RET.
      	(f_gnat_ret): New macro.
      	(struct nrv_data): Add GNAT_RET.
      	(finalize_nrv_unc_r): New helper function.
      	(finalize_nrv): Add GNAT_RET parameter.  Copy it into DATA.  If the
      	function returns unconstrained, use finalize_nrv_unc_r as callback.
      	(return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
      	RET_OBJ is non-null.
      	(Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
      	(gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
      	if optimization is enabled, record candidates for the Named Return
      	Value optimization.
      
      From-SVN: r181528
      Eric Botcazou committed
    • trans.c (Subprogram_Body_to_gnu): Add comment. · 0d24bf76
      	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
      	(gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
      	test.  Tweak default case.
      	<N_Goto_Statement>: Use better formatting.
      	* gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
      	MODIFY_EXPR to initialize the storage.
      	(build_allocator): Likewise.
      
      From-SVN: r181527
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Adjust call to components_to_record. · b1a785fb
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
      	call to components_to_record.
      	(components_to_record): Add FIRST_FREE_POS parameter.  For the variant
      	part, reuse enclosing union even if there is a representation clause
      	on the Unchecked_Union.  If there is a variant part, compute the new
      	first free position, if any.  Adjust call to self.  Use a single field
      	directly only if it hasn't got a representation clause or is placed at
      	offset zero.  Create the variant part at offset 0 if all the fields
      	down to this level have a rep clause.  Do not chain the variant part
      	immediately and adjust downstream.
      	Do not test ALL_REP before moving the fields without rep clause to the
      	previous level.  Call create_rep_part to create the REP part and force
      	a minimum size on it if necessary.  Do not chain it immediately.
      	Create a fake REP part if there are fields without rep clause that need
      	to be laid out starting from FIRST_FREE_POS.
      	At the end, chain the REP part and then the variant part.
      	(create_rep_part): New function.
      	(get_rep_part): Minor tweak.
      	* gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
      
      From-SVN: r181526
      Eric Botcazou committed
    • fixup trunkated changelog entry · 40760111
      From-SVN: r181525
      Nathan Sidwell committed
    • re PR gcov-profile/51113 (rev. 181105 causes Firefox profiledbuild failure) · 89b0c303
      	PR gcov-profile/51113
      	* coverage.c (build_var): Propagate visibility for public decls.
      
      	testsuite/
      	* gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage
      	* gcc.misc-tests/gcov-16.c: New.
      	* gcc.misc-tests/gcov-17.c: New.
      	* g++.dg/gcov/gcov-8.C: New.
      	* g++.dg/gcov/gcov-9.C: New.
      	* g++.dg/gcov/gcov-10.C: New.
      
      From-SVN: r181524
      Nathan Sidwell committed
    • PR c++/51194 - ICE with invalid alias template · fcb36e73
      gcc/cp/
      
      	PR c++/51194
      	* pt.c (lookup_template_class_1): Go out early if the type of the
      	template is error_mark_node.
      
      gcc/testsuite/
      
      	PR c++/51194
      	* g++.dg/cpp0x/alias-decl-15.C: New test.
      
      From-SVN: r181523
      Dodji Seketeli committed
    • Daily bump. · 417c27ab
      From-SVN: r181521
      GCC Administrator committed
  3. 19 Nov, 2011 5 commits