1. 10 Oct, 2014 23 commits
    • [multiple changes] · 4d1429b2
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb, gnat1drv.adb, sem_ch13.adb: Minor reformatting and
      	code clean up.
      
      2014-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Is_OK_Volatile_Context): Allow
      	a volatile object reference to appear as the expression of a
      	type conversion.
      
      From-SVN: r216091
      Arnaud Charlet committed
    • [multiple changes] · c9f95e4c
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications, Library_Unit_Aspects):
      	Aspect specification is legal on a local instantiation of a
      	library-level generic unit.
      
      2014-10-10  Gary Dismukes  <dismukes@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Set Front_End_Inlining
      	if inlining has been enabled via -gnatn and the target is not GCC.
      
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Freezing a subprogram does
      	not always freeze its profile.	In particular, an attribute
      	reference that takes the access type does not freeze the types
      	of the formals.
      
      From-SVN: r216090
      Arnaud Charlet committed
    • [multiple changes] · 32a21096
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* errout.adb (Adjust_Name_Case): New procedure.
      	(Set_Msg_Node): Use Adjust_Name_Case.
      	* errout.ads (Adjust_Name_Case): New procedure.
      	* exp_intr.adb (Add_Source_Info): Minor code reorganization
      	(use Ekind_In).
      	(Write_Entity_Name): Use Errout.Adjust_Name_Case.
      	* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Review
      	and fix up entries in Sig_Flags, and correct logical errors in
      	function itself.
      	* sprint.adb (Sprint_Node_Actual): Properly print string for
      	raise statement.
      
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): For an object of an
      	anonymous array type with delayed aspects, defer freezing of
      	type until object itself is frozen.
      	* freeze.adb (Freeze_Entity): When freezing an object of an
      	anonymous array type with delayed aspects, remove freeze node of
      	object after freezing type, to prevent out-of-order elaboration
      	in the back-end. The initialization call for the object has
      	already been constructed when expanding the object declaration.
      
      From-SVN: r216089
      Arnaud Charlet committed
    • exp_intr.adb (Write_Entity_Name): Moved to outer level · 8f819471
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_intr.adb (Write_Entity_Name): Moved to outer level
      	(Write_Entity_Name): Properly handle operator names
      	(Expand_Source_Info): New procedure.
      	* exp_intr.ads (Add_Source_Info): New procedure.
      
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* butil.ads: Minor reformatting.
      	* sem_ch5.adb: Code clean up.
      
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch11.adb (Expand_N_Raise_Statement): Handle
      	Prefix_Exception_Messages.
      	* opt.adb: Handle new flags Prefix_Exception_Message[_Config].
      	* opt.ads: New flags Prefix_Exception_Message[_Config].
      	* par-prag.adb: New dummy entry for pragma Prefix_Exception_Messages.
      	* snames.ads-tmpl: Add entries for new pragma Prefix_Exception_Messages.
      	* sem_prag.adb: Implement new pragma Prefix_Exception_Messages
      	* gnat_rm.texi: Document pragma Prefix_Exception_Messages.
      
      From-SVN: r216088
      Robert Dewar committed
    • [multiple changes] · d6cd5d34
      2014-10-10  Gary Dismukes  <dismukes@adacore.com>
      
      	* sinfo.ads, gnat_ugn.texi, a-except.adb, a-except-2005.adb,
      	raise-gcc.c Spelling changes (prolog => prologue, epilog => epilogue).
      
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Is_Wrapped_In_Block): Handle properly blocks that
      	contain pragmas generated for loop invariants and type predicates.
      	Clarify use of this subprogram.
      
      From-SVN: r216087
      Arnaud Charlet committed
    • [multiple changes] · 33b87152
      2014-10-10  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Analyze_Global_Item): Accept formal objects in Global
      	contracts.
      	* errout.adb, errout.ads (SPARK_Msg_NE): Issue error unless
      	SPARK_Mode is Off.
      
      2014-10-10  Vadim Godunko  <godunko@adacore.com>
      
      	* a-stwima.adb (To_Sequence): Compute size of result array.
      
      2014-10-10  Javier Miranda  <miranda@adacore.com>
      
      	* gnat_ugn.texi (Interfacing with C++ at the Class Level): Update the
      	sources of the example to avoid a warning when the Ada files are
      	automatically generated by the binding generator.
      
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Resolve_Attribute, case 'Update): Set
      	Do_Range_Check on the expression of a record component
      	association when needed, as is done for array components, when
      	the corresponding type is a scalar type.
      
      From-SVN: r216084
      Arnaud Charlet committed
    • [multiple changes] · 79904ebc
      2014-10-10  Gary Dismukes  <dismukes@adacore.com>
      
      	* a-coinho-shared.adb: Minor typo fix.
      	* prj-env.ads: Minor reformatting.
      
      2014-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Resolve_String_Literal): Do not
      	generate a string literal subtype for the default expression of
      	a formal parameter in GNATprove mode.
      
      2014-10-10  Yannick Moy  <moy@adacore.com>
      
      	* errout.adb (SPARK_Msg_N): Issue error unless SPARK_Mode is Off.
      
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Formal_Container_Element_Loop): Analyze
      	declaration for loop parameter before rest of loop, and set
      	entity kind to prevent assignments to it in the user code.
      	* sem_ch3.adb (Analyze_Object_Contract): No contracts apply to the
      	loop parameter in an element iteration over o formal container.
      
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Document use of user-level routines to handle
      	e.g. col major arrays.
      
      2014-10-10  Doug Rupp  <rupp@adacore.com>
      
      	* s-osinte-android.adb: Fix misspelling.
      	* gsocket.h: Tweak the Android quirks.
      
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* errout.ads (SPARK_Msg_N): Fix spec to match change in body.
      
      From-SVN: r216083
      Arnaud Charlet committed
    • asan-dg.exp (asan_link_flags): Save ld_library_path. · 06a04ce7
      gcc/testsuite/
      
      2014-10-10  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* lib/asan-dg.exp (asan_link_flags): Save ld_library_path.
      	(asan_finish): Remove restore_ld_library_path_env_vars.
      	Restore ld_library_path with saved value. Restore LD_LIBRARY_PATH
      	related env variables by calling set_ld_library_path_env_vars.
      	* lib/tsan-dg.exp (tsan_link_flags): Save ld_library_path.
      	(tsan_finish): Remove restore_ld_library_path_env_vars.
      	Restore ld_library_path with saved value. Restore LD_LIBRARY_PATH
      	related env variables by calling set_ld_library_path_env_vars.
      	* lib/ubsan-dg.exp (ubsan_link_flags): Save ld_library_path.
      	(ubsan_finish): Remove restore_ld_library_path_env_vars.
      	Restore ld_library_path with saved value. Restore LD_LIBRARY_PATH
      	related env variables by calling set_ld_library_path_env_vars.
      
      From-SVN: r216082
      Max Ostapenko committed
    • [multiple changes] · 80363c2f
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb: Minor code reorganization.
      
      2014-10-10  Pat Rogers  <rogers@adacore.com>
      
      	* gnat_rm.texi: Text now indicates pragma No_Run_Time is not
      	for users.
      
      2014-10-10  Vadim Godunko  <godunko@adacore.com>
      
      	* a-coinho-shared.adb: Add minor comment.
      	* a-stzmap.adb (To_Sequence): Compute size of result array.
      
      From-SVN: r216081
      Arnaud Charlet committed
    • exp_ch3.adb (Build_Init_Procedure): Complete the condition of an if-stmt to… · d56f4479
      exp_ch3.adb (Build_Init_Procedure): Complete the condition of an if-stmt to match its current documentation.
      
      2014-10-10  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.adb (Build_Init_Procedure): Complete the condition of an
      	if-stmt to match its current documentation.
      
      From-SVN: r216080
      Javier Miranda committed
    • [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option · 5e396da6
      	* configure.ac: Add --enable-fix-cortex-a53-835769 option.
      	* configure: Regenerate.
      	* config/aarch64/aarch64.c (aarch64_override_options): Handle
      	TARGET_FIX_ERR_A53_835769_DEFAULT.
      	* config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
      	value to 2.
      	* doc/install.texi (aarch64*-*-*): Document 
      	new --enable-fix-cortex-a53-835769 option.
      
      From-SVN: r216076
      Kyrylo Tkachov committed
    • [AArch64] Implement workaround for ARM Cortex-A53 erratum 835769 · 75cf1494
      	* config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define.
      	(ADJUST_INSN_LENGTH): Define.
      	* config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option.
      	* config/aarch64/aarch64.c (is_mem_p): New function.
      	(is_memory_op): Likewise.
      	(aarch64_prev_real_insn): Likewise.
      	(is_madd_op): Likewise.
      	(dep_between_memop_and_curr): Likewise.
      	(aarch64_madd_needs_nop): Likewise.
      	(aarch64_final_prescan_insn): Likewise.
      	* doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769
      	and -mno-fix-cortex-a53-835769 options.
      
      From-SVN: r216075
      Kyrylo Tkachov committed
    • [multiple changes] · b9696ffb
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
      	freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb,
      	sem_ch6.adb, sem_cat.adb, sem_disp.adb
      	(Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive
      	throughout where appropriate.
      
      2014-10-10  Bob Duff  <duff@adacore.com>
      
      	* a-coinho-shared.ads: Minor reformatting.
      	* s-traceb.adb: Minor clean up.
      
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* ali.adb (Scan_ALI): Read and process new GP flag on ALI P line.
      	* ali.ads (GNATprove_Mode): New component in ALI table.
      	(GNATprove_Mode_Specified): New global.
      	* gnatbind.adb (Gnatbind): Give fatal error if any file compiled
      	in GNATProve mode.
      	* lib-writ.ads, lib-writ.adb (GP): New flag on P line for
      	GNATProve_Mode.
      
      2014-10-10  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.adb (Build_Init_Procedure): Adding assertion.
      	(Build_Init_Statement): Ensure that statements
      	associated with the parent components are located at the beginning
      	of the returned list of statements.
      
      2014-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full
      	view of a private type T that has a type invariant is a scalar
      	or constrained array type, the base type created for the full
      	view has the same type invariant.
      
      From-SVN: r216074
      Arnaud Charlet committed
    • exp_util.ads, [...]: Minor code reorganization. · 1e3ed0fc
      2014-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.ads, sem_ch12.adb, exp_util.adb, i-fortra.ads: Minor code
      	reorganization.
      
      From-SVN: r216073
      Robert Dewar committed
    • re PR tree-optimization/63464 (compare one character to many: faster) · aa79a1e1
      	PR tree-optimization/63464
      	* tree-switch-conversion.c (struct case_bit_test): Remove
      	hi and lo fields, add wide_int mask field.
      	(emit_case_bit_tests): Add MAXVAL argument, rewrite uses of
      	hi/lo fields into wide_int mask operations, optimize by pretending
      	minval to be 0 if maxval is small enough.
      	(process_switch): Adjust caller.
      
      From-SVN: r216072
      Jakub Jelinek committed
    • re PR tree-optimization/63379 (Incorrect vectorization when enabling SSE and O3,… · f1485e5b
      re PR tree-optimization/63379 (Incorrect vectorization when enabling SSE and O3, initialises loop with wrong value)
      
      2014-10-10  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63379
      	* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
      	a neutral operand for min/max when it is not a reduction chain.
      
      	* gcc.dg/vect/pr63379.c: New testcase.
      
      From-SVN: r216070
      Richard Biener committed
    • re PR fortran/59488 ([OpenMP] named constant in parallel construct leads to "not… · 18cda88d
      re PR fortran/59488 ([OpenMP] named constant in parallel construct leads to "not specified in enclosing parallel" error.)
      
      	PR fortran/59488
      	* trans-openmp.c (gfc_omp_predetermined_sharing): Return
      	OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
      
      	* gfortran.dg/gomp/pr59488-1.f90: New test.
      	* gfortran.dg/gomp/pr59488-2.f90: New test.
      
      From-SVN: r216067
      Jakub Jelinek committed
    • re PR tree-optimization/63476 (ICE: tree check: expected ssa_name, have var_decl… · 81231d13
      re PR tree-optimization/63476 (ICE: tree check: expected ssa_name, have var_decl in walk_aliased_vdefs_1, at tree-ssa-alias.c:2689)
      
      2014-10-10  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63476
      	* tree-ssa-pre.c (struct bb_bitmap_sets): Add vop_on_exit member.
      	(BB_LIVE_VOP_ON_EXIT): New define.
      	(create_expression_by_pieces): Assign VUSEs to stmts.
      	(compute_avail): Track BB_LIVE_VOP_ON_EXIT.
      	(pass_pre::execute): Assert virtual SSA form is up-to-date
      	after insertion.
      
      	* g++.dg/torture/pr63476.C: New testcase.
      
      From-SVN: r216065
      Richard Biener committed
    • gfortran.h (gfc_set_implicit_none): Update prototype. · a6c63173
      2014-10-10  Tobias Burnus  <burnus@net-b.de>
      
      gcc/fortran/
              * gfortran.h (gfc_set_implicit_none): Update prototype.
              * symbol.c (gfc_set_implicit_none): Take and
              use error location. Move diagnostic from here to ...
              * decl.c (gfc_match_implicit_none): ... here. And
              update call. Handle empty implicit-none-spec.
              (gfc_match_implicit): Handle statement-separator ";".
      
      gcc/testsuite/
              * gfortran.dg/implicit_16.f90: New.
      
      From-SVN: r216057
      Tobias Burnus committed
    • re PR c++/63207 (ICE in expand_expr_real_l when instantiating a template with a… · 548cb3d7
      re PR c++/63207 (ICE in expand_expr_real_l when instantiating a template with a lambda that captures a const variable with a dependent initializer)
      
      	PR c++/63207
      	* semantics.c (outer_var_p): Non-static.
      	(process_outer_var_ref): Split out from finish_id_expression.
      	* pt.c (tsubst_copy_and_build): Call them.
      	* cp-tree.h: Declare them.
      
      From-SVN: r216056
      Jason Merrill committed
    • Daily bump. · 018e891a
      From-SVN: r216054
      GCC Administrator committed
  2. 09 Oct, 2014 17 commits
    • compiler: Permit "for range x" clauses. · ea411f84
      Fixes Issue 8370.
      
      From-SVN: r216051
      Ian Lance Taylor committed
    • semantics.c (check_constexpr_ctor_body_1): New. · 3369b919
      /cp
      2014-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* semantics.c (check_constexpr_ctor_body_1): New.
      	(check_constexpr_ctor_body): Use it; add bool parameter.
      	(build_data_member_initialization): Handle BIND_EXPR and
      	USING_STMT in the main conditional.
      	(build_constexpr_constructor_member_initializers): Do not
      	handle BIND_EXPR here.
      	(constexpr_fn_retval): Handle BIND_EXPR in the switch.
      	(massage_constexpr_body): Don't do it here.
      	* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
      	Adjust check_constexpr_ctor_body call.
      	(cp_parser_compound_statement): Do not pedwarn for compound-statement
      	in constexpr function in C++14 mode.
      	* cp-tree.h (check_constexpr_ctor_body): Update declaration.
      
      /testsuite
      2014-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/constexpr-using3.C: New.
      	* g++.dg/cpp1y/constexpr-local-compound1.C: Likewise.
      	* g++.dg/cpp1y/constexpr-type-def-compound1.C: Likewise.
      	* g++.dg/cpp1y/constexpr-local1.C: Extend.
      	* g++.dg/cpp0x/constexpr-compound.C: Specify expected error.
      
      From-SVN: r216049
      Paolo Carlini committed
    • Update soft-fp from glibc. · 5f606431
      This patch updates libgcc's copy of soft-fp from glibc, adding a
      testcase for a bug fix this brings in.
      
      Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
      
      libgcc:
      	* soft-fp/double.h: Update from glibc.
      	* soft-fp/eqdf2.c: Likewise.
      	* soft-fp/eqsf2.c: Likewise.
      	* soft-fp/eqtf2.c: Likewise.
      	* soft-fp/extenddftf2.c: Likewise.
      	* soft-fp/extended.h: Likewise.
      	* soft-fp/extendsfdf2.c: Likewise.
      	* soft-fp/extendsftf2.c: Likewise.
      	* soft-fp/extendxftf2.c: Likewise.
      	* soft-fp/gedf2.c: Likewise.
      	* soft-fp/gesf2.c: Likewise.
      	* soft-fp/getf2.c: Likewise.
      	* soft-fp/ledf2.c: Likewise.
      	* soft-fp/lesf2.c: Likewise.
      	* soft-fp/letf2.c: Likewise.
      	* soft-fp/op-1.h: Likewise.
      	* soft-fp/op-2.h: Likewise.
      	* soft-fp/op-4.h: Likewise.
      	* soft-fp/op-8.h: Likewise.
      	* soft-fp/op-common.h: Likewise.
      	* soft-fp/quad.h: Likewise.
      	* soft-fp/single.h: Likewise.
      	* soft-fp/soft-fp.h: Likewise.
      	* soft-fp/unorddf2.c: Likewise.
      	* soft-fp/unordsf2.c: Likewise.
      	* soft-fp/unordtf2.c: Likewise.
      	* config/c6x/eqd.c (__c6xabi_eqd): Update call to FP_CMP_EQ_D.
      	* config/c6x/eqf.c (__c6xabi_eqf): Update call to FP_CMP_EQ_S.
      	* config/c6x/ged.c (__c6xabi_ged): Update call to FP_CMP_D.
      	* config/c6x/gef.c (__c6xabi_gef): Update call to FP_CMP_S.
      	* config/c6x/gtd.c (__c6xabi_gtd): Update call to FP_CMP_D.
      	* config/c6x/gtf.c (__c6xabi_gtf): Update call to FP_CMP_S.
      	* config/c6x/led.c (__c6xabi_led): Update call to FP_CMP_D.
      	* config/c6x/lef.c (__c6xabi_lef): Update call to FP_CMP_S.
      	* config/c6x/ltd.c (__c6xabi_ltd): Update call to FP_CMP_D.
      	* config/c6x/ltf.c (__c6xabi_ltf): Update call to FP_CMP_S.
      
      gcc/testsuite:
      	* gcc.dg/torture/float128-extendxf-underflow.c: New test.
      
      From-SVN: r216048
      Joseph Myers committed
    • re PR libstdc++/61909 (Small function optimization not applied to small objects) · c3866869
      	PR libstdc++/61909
      	* include/std/functional (__is_location_invariant): Treat all
      	trivially copyable types as location invariant.
      
      From-SVN: r216047
      Jonathan Wakely committed
    • re PR libstdc++/63322 (std::atomic<T> where T is not trivially copyable should be disabled.) · bc2da0fc
      	PR libstdc++/63322
      	* include/std/atomic (atomic): Add assertion for trivially copyable.
      	* testsuite/29_atomics/atomic/60695.cc: Adjust line number.
      
      From-SVN: r216046
      Jonathan Wakely committed
    • status_cxx2011.xml: Update. · 75c3de1e
      	* doc/xml/manual/status_cxx2011.xml: Update.
      	* doc/html/manual/status.html: Regenerate.
      
      From-SVN: r216045
      Jonathan Wakely committed
    • re PR c++/63309 (internal compiler error: Segmentation fault) · ea4e4e6e
      	PR c++/63309
      	* parser.c (cp_parser_class_head): push_template_decl for members
      	of templates, too.
      
      From-SVN: r216044
      Jason Merrill committed
    • re PR c++/63415 (internal compiler error: unexpected expression… · 5d4fffb8
      re PR c++/63415 (internal compiler error: unexpected expression ‘static_cast<int>(std::is_same<T, A1>{})’ of kind static_cast_expr)
      
      	PR c++/63415
      	* pt.c (value_dependent_expression_p) [CONSTRUCTOR]: Check the type.
      	(iterative_hash_template_arg): Likewise.
      
      From-SVN: r216043
      Jason Merrill committed
    • re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object doesn't… · 96e780c0
      re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object doesn't compile in return statement)
      
      	PR c++/63437
      	* cp-tree.h (REF_PARENTHESIZED_P): Also allow INDIRECT_REF.
      	* semantics.c (force_paren_expr): And set it.
      	* typeck.c (check_return_expr): And handle it.
      
      From-SVN: r216042
      Jason Merrill committed
    • Fix r216010 fallout · 94c4084c
      This fixes fallout from r216010, which causes Firefox build failures.
      Just move the gcc_assert below the new if statement.
      
      From-SVN: r216041
      Markus Trippelsdorf committed
    • decl.c (grokdeclarator): constexpr only implies const in C++11. · d0ff1cb4
      2014-10-09  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/cp/
      	* decl.c (grokdeclarator): constexpr only implies const in C++11.
      gcc/testsuite/
      	* g++.dg/cpp0x/constexpr-52892-1.C: Error on missing const in C++14.
      	* g++.dg/cpp0x/constexpr-array-ptr7.C: Likewise.
      	* g++.dg/cpp0x/constexpr-diag1.C: Add const.
      	* g++.dg/cpp0x/constexpr-diag3.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ex1.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ex2.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ex4.C: Likewise.
      	* g++.dg/cpp0x/constexpr-initlist.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ptrmem.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ptrsub.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ref4.C: Likewise.
      	* g++.dg/cpp0x/constexpr-static6.C: Likewise.
      
      From-SVN: r216039
      Marc Glisse committed
    • re PR tree-optimization/63380 (Wrong constant folding) · 12d3031b
      2014-10-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63380
      	* tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
      	may trap.
      
      	* gcc.dg/torture/pr63380-1.c: New testcase.
      	* gcc.dg/torture/pr63380-2.c: Likewise.
      
      From-SVN: r216038
      Richard Biener committed
    • f95-lang.c (gfc_init_builtin_functions): Add more floating-point built-ins. · 3b7ea188
      	* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
      	built-ins.
      	* mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
      	remainder, rint and signbit.
      	* trans-decl.c (save_fp_state, restore_fp_state): Move to
      	trans-intrinsic.c
      	(gfc_generate_function_code): Use new names for these two functions.
      	* trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
      	emit code from the front-end.
      	* trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
      	conv_ieee_function_args, conv_intrinsic_ieee_builtin,
      	conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
      	conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
      	conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
      	conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
      	New functions.
      	* trans.h (gfc_conv_ieee_arithmetic_function,
      	gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
      
      	* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
      	ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
      	ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
      	ieee_rem_*, ieee_next_after_*): Remove functions.
      	* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
      
      From-SVN: r216036
      Francois-Xavier Coudert committed
    • avr.opt (mmcu=): Change to have a string value. · f9d29866
      	* config/avr/avr.opt (mmcu=): Change to have a string value.
      	(mn-flash=, mskip-bug, march=, mrmw): New options.
      	(HeaderInclude): New.
      	(mmcu=): Remove Var / Init clauses.
      	* config/avr/avr.h (DRIVER_SELF_SPECS): Translate -mmcu into a
      	-specs option.
      	(SYMBOL_FLAG_IO, SYMBOL_FLAG_ADDRESS): Define.
      	(ASM_OUTPUT_ALIGNED_BSS): Use avr_asm_asm_output_aligned_bss.
      	(SYMBOL_FLAG_IO_LOW): Define.
      	(avr_device_to_as, avr_device_to_ld): Don't declare.
      	(avr_device_to_data_start, avr_device_to_startfiles): Likewise.
      	(avr_device_to_devicelib, avr_device_to_sp8): Likewise.
      	(EXTRA_SPEC_FUNCTIONS): Don't define.
      	(ASM_SPEC): Translate -arch= option to -mmcu= option.
      	(LINK_SPEC): Translate -arch= option to -m= option.
      	Don't use device_to_ld / device_to_data_start.
      	(STARTFILE_SPEC): Now empty.
      	(ASM_SPEC): Add -%{mrelax: --mlink-relax}.
      	* config/avr/gen-avr-mmcu-specs.c: New file.
      	* config/avr/t-avr (gen-avr-mmcu-specs$(build_exeext)): New rule.
      	(s-device-specs): Likewise.
      	(GCC_PASSES): Add s-device-specs.
      	(install-driver): Depend on install-device-specs.
      	(install-device-specs): New rule.
      	* config/avr/avr.c (avr_option_override): Look up mcu arch by
      	avr_arch_index and provide fallback initialization for avr_n_flash.
      	(varasm.h): #include.
      	(avr_print_operand) <i>: Allow SYMBOL_REF with SYMBOL_FLAG_IO;
      	(avr_handle_addr_attribute, avr_eval_addr_attrib): New functions.
      	(avr_attribute_table): Add "io", "address" and "io_low".
      	(avr_asm_output_aligned_decl_common): Change type of decl to tree.
      	Add special handling for symbols with "io" and/or "address" attributes.
      	(avr_asm_asm_output_aligned_bss): New function.
      	(avr_encode_section_info): Set SYMBOL_FLAG_IO and SYMBOL_FLAG_ADDRESS
      	as appropriate.  Handle io_low attribute.
      	(avr_out_sbxx_branch): Handle symbolic io addresses.
      	(avr_xload_libgcc_p, avr_nonconst_pointer_addrspace): Use
      	avr_n_flash instead of avr_current_device->n_flash.
      	(avr_pgm_check_var_decl, avr_insert_attributes): Likewise.
      	(avr_emit_movmemhi): Likewise.
      	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Likewise.
      	Use TARGET_RMW instead of avr_current_device->dev_attributes.
      	Don't define avr_current_device->macro (that's the specfile's job).
      	Use TARGET_SKIP_BUG instead of avr_current_device->errata_skip.
      	* config/avr/avr.c (avr_2word_insn_p): Likewise.
      	* config/avr/avr.md (*cpse.ne): Likewise.
      	(mov<mode>): Use avr_eval_addr_attrib.
      	(cbi): Change constraint for low_io_address_operand operand to "i".
      	(sbi, sbix_branch, sbix_branch_bit7, insv.io, insv.not.io): Likewise.
      	* config/avr/predicates.md (io_address_operand):
      	Allow SYMBOL_REF with SYMBOL_FLAG_IO.
      	(low_io_address_operand): Allow SYMBOL_REF with SYMBOL_FLAG_IO_LOW.
      	* config/avr/avr-protos.h (avr_asm_output_aligned_decl_common):
      	Update prototype.
      	(avr_eval_addr_attrib, avr_asm_asm_output_aligned_bss): Prototype.
      	* config/avr/genmultilib.awk: Use -march=.
      	Remove Multilib matches processing.
      	* config/avr/t-multilib, config/avr/avr-tables.opt: Regenerate.
      	* config/avr/avr-arch.h: Add double include guard.
      	(avr_mcu_t) <library_name>: Update comment.
      	* config/avr/driver-avr.c (avr_device_to_as): Delete.
      	(avr_device_to_ld, avr_device_to_data_start): Likewise.
      	(avr_device_to_startfiles, avr_device_to_devicelib): Likewise.
      	(avr_device_to_sp8): Likewise.
      	* config/avr/genopt.sh:  Instead avr_mcu, emit an Enum for avr_arch.
      
      	* doc/extend.texi (io, address): Document new AVR variable attributes.
      	(io_low): Likewise.
      
      From-SVN: r216034
      Joern Rennecke committed
    • re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible) · f5e523b7
      2014-10-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	PR libstdc++/60132
          	* include/std/type_traits (is_trivially_copyable,
          	is_trivially_constructible, is_trivially_default_constructible,
          	is_trivially_copy_constructible, is_trivially_move_constructible,
          	is_trivially_assignable, is_trivially_copy_assignable,
          	is_trivially_move_assignable): New.
          	* testsuite/20_util/is_trivially_assignable/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_assignable/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_constructible/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_constructible/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_copyable/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_copyable/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_assignable/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_assignable/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_constructible/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_constructible/requirements/
      	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
          	* testsuite/20_util/is_trivially_default_constructible/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_default_constructible/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_default_constructible/
      	value.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_assignable/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_assignable/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_constructible/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_constructible/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_constructible/value.cc:
      	Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
      	line number.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      
      From-SVN: r216032
      Ville Voutilainen committed
    • re PR c/63480 (-Wmissing-field-initializers should not warn about intentionally… · 84937de2
      re PR c/63480 (-Wmissing-field-initializers should not warn about intentionally empty initializers (or that should be a separate option))
      
      	PR c/63480
      	* c-typeck.c (pop_init_level): Don't warn about initializing
      	with { }.
      
      	* gcc.dg/pr63480.c: New test.
      
      From-SVN: r216031
      Marek Polacek committed