aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-10re PR libstdc++/49561 ([C++0x] std::list::size complexity)Jonathan Wakely14-21/+222
PR libstdc++/49561 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define. * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI. * configure: Regenerate. * include/Makefile.am (stamp-cxx11-abi): New target. (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro. * include/Makefile.in: Regenerate. * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and define _GLIBCXX_DEFAULT_ABI_TAG. * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)): Increment size. (list::emplace(const_iterator, const value_type&)): Likewise. (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust list sizes. * include/bits/stl_list.h (_List_base, list): Add ABI tag macro. (_List_base::_M_size): New data member in cxx11 ABI mode. (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New function. (_List_base::_M_get_size(), _List_base::_M_set_size(size_t), _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t), _List_base::_M_distance, _List_base::_M_node_count): New functions for accessing list size correctly for the ABI mode. (_List_base::_List_base(_List_base&&)): Copy size and reset source. (_List_base::_M_init()): Initialize size member. (list::size()): Use _List_base::_M_node_count. (list::swap(list&)): Swap sizes. (list::splice(iterator, list&)): Update sizes. (list::splice(iterator, list&, iterator)): Likewise. (list::insert(iterator, const value_type&)): Update size. (list::insert(iterator, _Args&&...)): Likewise. (list::_M_erase(iterator)): Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Adjust. * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Adjust. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Adjust. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust. From-SVN: r216094
2014-10-10Minor reformatting.Arnaud Charlet2-88/+62
From-SVN: r216093
2014-10-10[multiple changes]Arnaud Charlet11-117/+223
2014-10-10 Robert Dewar <dewar@adacore.com> * freeze.adb, sem_attr.adb: Minor reformatting. 2014-10-10 Johannes Kanig <kanig@adacore.com> * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads, a-cofove.ads: add "Default_Initial_Condition" to container type. 2014-10-10 Vincent Celier <celier@adacore.com> * prj-conf.adb (Do_Autoconf): In Codepeer mode, do not try to get any configuration switches from the project file. 2014-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Build_Wrapper): Renamed as Build_Operator_Wrapper. (Build_Function_Wrapper): New function, to construct a wrapper function for actuals that are functions with an arbitrary number of parameters. Used in GNATProve mode to simplify proof propagation in instantiations. From-SVN: r216092
2014-10-10[multiple changes]Arnaud Charlet5-348/+380
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
2014-10-10[multiple changes]Arnaud Charlet4-1/+38
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
2014-10-10[multiple changes]Arnaud Charlet8-221/+350
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
2014-10-10exp_intr.adb (Write_Entity_Name): Moved to outer levelRobert Dewar12-64/+284
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
2014-10-10[multiple changes]Arnaud Charlet7-17/+44
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
2014-10-10[multiple changes]Arnaud Charlet7-29/+79
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
2014-10-10[multiple changes]Arnaud Charlet11-14/+91
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
2014-10-10asan-dg.exp (asan_link_flags): Save ld_library_path.Max Ostapenko4-3/+33
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
2014-10-10[multiple changes]Arnaud Charlet5-18/+43
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
2014-10-10exp_ch3.adb (Build_Init_Procedure): Complete the condition of an if-stmt to ↵Javier Miranda2-14/+13
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
2014-10-10[AArch64] Add --enable-fix-cortex-a53-835769 configure-time optionKyrylo Tkachov6-3/+84
* 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
2014-10-10[AArch64] Implement workaround for ARM Cortex-A53 erratum 835769Kyrylo Tkachov6-0/+162
* 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
2014-10-10[multiple changes]Arnaud Charlet23-88/+170
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
2014-10-10exp_util.ads, [...]: Minor code reorganization.Robert Dewar5-106/+94
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
2014-10-10re PR tree-optimization/63464 (compare one character to many: faster)Jakub Jelinek2-18/+48
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
2014-10-10re PR tree-optimization/63379 (Incorrect vectorization when enabling SSE and ↵Richard Biener4-7/+69
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
2014-10-10re PR fortran/59488 ([OpenMP] named constant in parallel construct leads to ↵Jakub Jelinek5-0/+51
"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
2014-10-10re PR tree-optimization/63476 (ICE: tree check: expected ssa_name, have ↵Richard Biener4-2/+79
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
2014-10-10* lra-assigns.c (assign_by_spills): Fix thinko in previous change.Eric Botcazou1-1/+3
From-SVN: r216060
2014-10-10* lra-assigns.c (assign_by_spills): Error out on spill failure.Eric Botcazou2-7/+13
From-SVN: r216059
2014-10-10gfortran.h (gfc_set_implicit_none): Update prototype.Tobias Burnus6-33/+99
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
2014-10-09re PR c++/63207 (ICE in expand_expr_real_l when instantiating a template ↵Jason Merrill5-85/+129
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
2014-10-10Daily bump.GCC Administrator1-1/+1
From-SVN: r216054
2014-10-09compiler: Permit "for range x" clauses.Ian Lance Taylor2-19/+36
Fixes Issue 8370. From-SVN: r216051
2014-10-09semantics.c (check_constexpr_ctor_body_1): New.Paolo Carlini10-30/+189
/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
2014-10-09Update soft-fp from glibc.Joseph Myers39-1352/+1782
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
2014-10-09re PR libstdc++/61909 (Small function optimization not applied to small objects)Jonathan Wakely2-2/+7
PR libstdc++/61909 * include/std/functional (__is_location_invariant): Treat all trivially copyable types as location invariant. From-SVN: r216047
2014-10-09re PR libstdc++/63322 (std::atomic<T> where T is not trivially copyable ↵Jonathan Wakely3-2/+7
should be disabled.) PR libstdc++/63322 * include/std/atomic (atomic): Add assertion for trivially copyable. * testsuite/29_atomics/atomic/60695.cc: Adjust line number. From-SVN: r216046
2014-10-09status_cxx2011.xml: Update.Jonathan Wakely3-14/+8
* doc/xml/manual/status_cxx2011.xml: Update. * doc/html/manual/status.html: Regenerate. From-SVN: r216045
2014-10-09re PR c++/63309 (internal compiler error: Segmentation fault)Jason Merrill3-3/+24
PR c++/63309 * parser.c (cp_parser_class_head): push_template_decl for members of templates, too. From-SVN: r216044
2014-10-09re PR c++/63415 (internal compiler error: unexpected expression ↵Jason Merrill3-0/+14
‘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
2014-10-09re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object ↵Jason Merrill5-4/+59
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
2014-10-09Fix r216010 falloutMarkus Trippelsdorf4-1/+59
This fixes fallout from r216010, which causes Firefox build failures. Just move the gcc_assert below the new if statement. From-SVN: r216041
2014-10-09decl.c (grokdeclarator): constexpr only implies const in C++11.Marc Glisse15-21/+41
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
2014-10-09re PR tree-optimization/63380 (Wrong constant folding)Richard Biener5-3/+40
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
2014-10-09f95-lang.c (gfc_init_builtin_functions): Add more floating-point built-ins.Francois-Xavier Coudert10-354/+442
* 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
2014-10-09avr.opt (mmcu=): Change to have a string value.Joern Rennecke17-1207/+565
* 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
2014-10-09* doc/invoke.texi: Document -fsanitize=bool and -fsanitize=enum.Marek Polacek2-0/+17
From-SVN: r216033
2014-10-09re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible)Ville Voutilainen29-14/+1469
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
2014-10-09re PR c/63480 (-Wmissing-field-initializers should not warn about ↵Marek Polacek4-2/+31
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
2014-10-09re PR lto/61969 (wrong code by LTO on i?86-linux-gnu (affecting trunk, ↵Richard Biener2-2/+7
4.9.x, and 4.8.x)) 2014-10-09 Richard Biener <rguenther@suse.de> PR tree-optimization/61969 * tree-nrv.c (pass_nrv::execute): Properly test for automatic variables. From-SVN: r216029
2014-10-09re PR tree-optimization/63445 (request: make -Wstrict-overflow avoid a class ↵Richard Biener4-2/+30
of false positives) 2014-10-09 Richard Biener <rguenther@suse.de> PR tree-optimization/63445 * tree-vrp.c (simplify_cond_using_ranges): Only warn about overflow for non-equality compares. * gcc.dg/Wstrict-overflow-26.c: New testcase. From-SVN: r216028
2014-10-09re PR libquadmath/55821 (Release tarballs (unconditionally) install ↵Francois-Xavier Coudert3-3/+18
libquadmath.info when libquadmath is not supported) PR libquadmath/55821 * Makefile.am: Conditionally define info_TEXINFOS and libquadmath_TEXINFOS. * Makefile.in: Regenerate. From-SVN: r216027
2014-10-09re PR rtl-optimization/57003 (gcc breaks -O2 optimization with Wine(64) - ↵Uros Bizjak2-1/+18
links/info/bisect of commits included) PR rtl-optimization/57003 * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg, also check CALL_INSN_FUNCTION_USAGE for clobbers again after killing regs_invalidated_by_call. From-SVN: r216026
2014-10-09re PR bootstrap/63432 (profiledbootstrap failure with bootstrap-lto)Teresa Johnson2-14/+77
2014-10-07 Teresa Johnson <tejohnson@google.com> PR bootstrap/63432. * tree-ssa-threadupdate.c (estimated_freqs_path): New function. (ssa_fix_duplicate_block_edges): Invoke it. (mark_threaded_blocks): Make two passes to avoid ordering dependences. From-SVN: r216024
2014-10-09Daily bump.GCC Administrator1-1/+1
From-SVN: r216023
2014-10-08re PR target/52941 (SH Target: Add support for movco.l / movli.l atomics on ↵Oleg Endo2-2/+22
SH4A) gcc/ PR target/52941 * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard, atomic_fetch_<fetchop_name>si_hard, atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard, atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard): Add missing set of T_REG. From-SVN: r216018