aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-10-12move many gc hashtab to hash_tableTrevor Saunders55-1235/+1355
gcc/ * asan.c, cfgloop.c, cfgloop.h, cgraph.c, cgraph.h, config/darwin.c, config/m32c/m32c.c, config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c, dwarf2out.c, function.c, function.h, gimple-ssa.h, libfuncs.h, optabs.c, output.h, rtl.h, sese.c, symtab.c, tree-cfg.c, tree-dfa.c, tree-ssa.c, varasm.c: Use hash-table instead of hashtab. * doc/gty.texi (for_user): Document new option. * gengtype.c (create_user_defined_type): Don't try to get a struct for char. (walk_type): Don't error out on for_user option. (write_func_for_structure): Emit user marking routines if requested by for_user option. (write_local_func_for_structure): Likewise. (main): Mark types with for_user option as used. * ggc.h (gt_pch_nx): Add overload for unsigned int. * hash-map.h (hash_map::hash_entry::pch_nx_helper): AddOverloads. * hash-table.h (ggc_hasher): New struct. (hash_table::create_ggc): New function. (gt_pch_nx): New overload for hash_table. java/ * class.c, decl.c, except.c, expr.c, java-tree.h, lang.c: Use hash_table instead of hashtab. objc/ * objc-act.c: use hash_table instead of hashtab. cp/ * cp-gimplify.c, cp-tree.h, decl.c, mangle.c, name-lookup.c, pt.c, semantics.c, tree.c, typeck2.c: Use hash_table instead of hashtab. fortran/ * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab. c-family/ * c-common.c: Use hash_table instead of hashtab. From-SVN: r216127
2014-10-11re PR c++/62115 (ICE with invalid default argument)Jason Merrill6-17/+41
PR c++/62115 * class.c (build_base_path): Preserve rvalueness. * call.c (convert_like_real) [ck_base]: Let convert_to_base handle &/*. * rtti.c (build_dynamic_cast_1): Call convert_to_reference later. From-SVN: r216124
2014-10-12Daily bump.GCC Administrator1-1/+1
From-SVN: r216123
2014-10-11re PR fortran/48979 (FRACTION und EXPONENT return invalid results for ↵François-Xavier Coudert4-19/+148
infinity/NaN) PR fortran/48979 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros. (gfc_simplify_log): Likewise. (gfc_simplify_scale): Likewise. (gfc_simplify_exponent): Handle infinities and NaNs. (gfc_simplify_fraction): Handle infinities. (gfc_simplify_rrspacing): Handle signed zeros and NaNs. (gfc_simplify_set_exponent): Handle infinities and NaNs. (gfc_simplify_spacing): Handle zeros, infinities and NaNs. * gfortran.dg/ieee/intrinsics_1.f90: New test. From-SVN: r216120
2014-10-11sh.h (TARGET_SH4A_ARCH): Remove macro.Oleg Endo7-30/+36
gcc/ * config/sh/sh.h (TARGET_SH4A_ARCH): Remove macro. * config/sh/sh.h: Replace uses of TARGET_SH4A_ARCH with TARGET_SH4A. * config/sh/sh.c: Likewise. * config/sh/sh-mem.cc: Likewise. * config/sh/sh.md: Likewise. * config/sh/predicates.md: Likewise. * config/sh/sync.md: Likewise. From-SVN: r216119
2014-10-11target-supports.exp (check_effective_target_shared): New function.Christophe Lyon3-1/+20
2014-10-11 Christophe Lyon <christophe.lyon@linaro.org> gcc/testsuite/ * lib/target-supports.exp (check_effective_target_shared): New function. * g++.dg/ipa/devirt-28a.C: Check if -shared is supported. From-SVN: r216117
2014-10-10re PR c++/63194 (ICE in maybe_explain_implicit_delete, at cp/method.c:1552)Jason Merrill3-0/+16
PR c++/63194 * method.c (defaulted_late_check): Call maybe_instantiate_noexcept. From-SVN: r216114
2014-10-11Daily bump.GCC Administrator1-1/+1
From-SVN: r216113
2014-10-10cgraphunit.c (symbol_table::process_new_functions): Missing call for ↵Martin Liska2-0/+7
call_cgraph_insertion_hooks added. PR/63376 * cgraphunit.c (symbol_table::process_new_functions): Missing call for call_cgraph_insertion_hooks added. From-SVN: r216110
2014-10-10method.c (implicitly_declare_fn): Handle deleted lambda default ctor and ↵Jason Merrill4-8/+25
copy assop here. * method.c (implicitly_declare_fn): Handle deleted lambda default ctor and copy assop here. * class.c (check_bases_and_members): Not here. (add_implicitly_declared_members): And don't set CLASSTYPE_LAZY_MOVE_ASSIGN. From-SVN: r216105
2014-10-10* semantics.c (finish_id_expression): Check for error_mark_node.Jason Merrill2-1/+9
From-SVN: r216104
2014-10-10re PR c/63495 (struct __attribute__ ((aligned (8))) broken on x86)Jakub Jelinek4-7/+27
PR c/63495 * stor-layout.c (min_align_of_type): Don't decrease alignment through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if TYPE_USER_ALIGN is set. * gcc.target/i386/pr63495.c: New test. From-SVN: r216101
2014-10-10re PR target/63483 (Scheduler performs Invalid move of aliased memory reference)Uros Bizjak2-34/+55
PR rtl-optimization/63483 * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P references when alignment ANDs are involved. (write_dependence_p): Ditto. (may_alias_p): Ditto. From-SVN: r216100
2014-10-10asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE.Marek Polacek22-6/+745
* asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE. * doc/invoke.texi: Document -fsanitize=object-size. * flag-types.h (enum sanitize_code): Add SANITIZE_OBJECT_SIZE and or it into SANITIZE_UNDEFINED. * gimple-fold.c (gimple_fold_call): Optimize IFN_UBSAN_OBJECT_SIZE. * internal-fn.c (expand_UBSAN_OBJECT_SIZE): New function. * internal-fn.def (UBSAN_OBJECT_SIZE): Define. * opts.c (common_handle_option): Handle -fsanitize=object-size. * ubsan.c: Include tree-object-size.h. (ubsan_type_descriptor): Call tree_to_uhwi instead of tree_to_shwi. (ubsan_expand_bounds_ifn): Use false instead of 0. (ubsan_expand_objsize_ifn): New function. (instrument_object_size): New function. (pass_ubsan::execute): Add object size instrumentation. * ubsan.h (ubsan_expand_objsize_ifn): Declare. testsuite/ * c-c++-common/ubsan/object-size-1.c: New test. * c-c++-common/ubsan/object-size-2.c: New test. * c-c++-common/ubsan/object-size-3.c: New test. * c-c++-common/ubsan/object-size-4.c: New test. * c-c++-common/ubsan/object-size-5.c: New test. * c-c++-common/ubsan/object-size-6.c: New test. * c-c++-common/ubsan/object-size-7.c: New test. * c-c++-common/ubsan/object-size-8.c: New test. * c-c++-common/ubsan/object-size-9.c: New test. * g++.dg/ubsan/object-size-1.C: New test. * gcc.dg/ubsan/object-size-9.c: New test. From-SVN: r216099
2014-10-10re PR target/63404 (gcc 5 miscompiles linux block layer)Richard Henderson2-23/+72
PR target/63404 * shrink-wrap.c (move_insn_for_shrink_wrap): Don't use single_set. Restrict the set of expressions we're willing to move. From-SVN: r216096
2014-10-10ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list.Jeff Law2-11/+31
* ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list. Add comments. (no_equiv): Promote LIST to an rtx_insn_list. Update testing for and creating the special marker. Use methods to extract the insn and next pointers. Promote INSN to an rtx_insn. (update_equiv_regs): Update test for special marker in the INIT_INSNs list. From-SVN: r216095
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 Myers2-0/+44
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 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