aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-21invoke.texi (AARCH64/mtune): Document thunderx as an available option also.Andrew Pinski6-3/+165
2014-10-21 Andrew Pinski <apinski@cavium.com> * doc/invoke.texi (AARCH64/mtune): Document thunderx as an available option also. * config/aarch64/aarch64-cost-tables.h: New file. * config/aarch64/aarch64-cores.def (thunderx): New core. * config/aarch64/aarch64-tune.md: Regenerate. * config/aarch64/aarch64.c: Include aarch64-cost-tables.h instead of config/arm/aarch-cost-tables.h. (thunderx_regmove_cost): New variable. (thunderx_tunings): New variable. From-SVN: r216524
2014-10-21Add AutoFDO.Dehao Chen22-80/+1950
gcc/ChangeLog: 2014-10-21 Dehao Chen <dehao@google.com> * auto-profile.c: New file. * auto-profile.h: New file. * basic-block.h (maybe_hot_count_p): New export func. (add_working_set): New export func. * gcov-io.h (GCOV_TAG_AFDO_FILE_NAMES): New tag. (GCOV_TAG_AFDO_FUNCTION): Likewise. (GCOV_TAG_AFDO_WORKING_SET): Likewise. * opts.c (enable_fdo_optimizations): New func. (common_handle_option): Handle -fauto-profile flag. * ipa-inline.c (want_early_inline_function_p): Iterative-einline. (class pass_early_inline): Export early_inliner. (early_inliner): Likewise. (pass_early_inline::execute): Likewise. * ipa-inline.h (early_inliner): Likewise. * predict.c (maybe_hot_count_p): New export func. (counts_to_freqs): AutoFDO logic. (rebuild_frequencies): Likewise. * tree-profile.c (pass_ipa_tree_profile::gate): Likewise. * profile.c (add_working_set): New func. * Makefile.in (auto-profile.o): New object file. * passes.def (pass_ipa_auto_profile): New pass. * tree-ssa-live.c (remove_unused_scope_block_p): AutoFDO logic. * tree-pass.h (make_pass_ipa_auto_profile): New pass. * toplev.c (compile_file): AutoFDO logic. * doc/invoke.texi (-fauto-profile): New doc. * coverage.c (coverage_init): AutoFDO logic. * common.opt (-fauto-profile): New flag. * timevar.def (TV_IPA_AUTOFDO): New tag. * value-prof.c (gimple_alloc_histogram_value): New export func. (check_ic_target): Likewise. * value-prof.h (gimple_alloc_histogram_value): Likewise. (check_ic_target): Likewise. From-SVN: r216523
2014-10-21State cleanups from jit branchDavid Malcolm24-74/+425
gcc/ChangeLog: * cgraph.c (cgraph_c_finalize): New function. * cgraph.h (cgraph_c_finalize): New prototype. (cgraphunit_c_finalize): New prototype. * cgraphunit.c (first_analyzed): Move from analyze_functions to file-scope. (first_analyzed_var): Likewise. (analyze_functions): Move static variables into file-scope. (cgraphunit_c_finalize): New function. * diagnostic.c (diagnostic_finish): Free the memory for context->classify_diagnostic and context->printer, running the destructor for the latter. (bt_stop): Use toplev::main. * dwarf2out.c (dwarf2out_finalize): New function. * dwarf2out.h (dwarf2out_c_finalize): New prototype. * gcse.c (gcse_c_finalize): New function. * gcse.h (gcse_c_finalize): New prototype. * ggc-page.c (init_ggc): Make idempotent. * input.c (input_location): Initialize to UNKNOWN_LOCATION. * ipa-cp.c (ipa_cp_c_finalize): New function. * ipa-prop.h (ipa_cp_c_finalize): New prototype. * ipa-pure-const.c (function_insertion_hook_holder): Move to be a field of class pass_ipa_pure_const. (node_duplication_hook_holder): Likewise. (node_removal_hook_holder): Likewise. (register_hooks): Convert to method... (pass_ipa_pure_const::register_hooks): ...here, converting static variable init_p into... (pass_ipa_pure_const::init_p): ...new field. (pure_const_generate_summary): Update invocation of register_hooks to invoke as a method of current_pass. (pure_const_read_summary): Likewise. (propagate): Convert to... (pass_ipa_pure_const::execute): ...method. * ipa-reference.c (ipa_init): Move static bool init_p from here to... (ipa_init_p): New file-scope variable, so that it can be reset when repeatedly invoking the compiler within one process by... (ipa_reference_c_finalize): New function. * ipa-reference.h (ipa_reference_c_finalize): New. * main.c (main): Replace invocation of toplev_main with construction of a toplev instance, and call its "main" method. * params.c (global_init_params): Add an assert that params_finished is false. (params_c_finalize): New. * params.h (params_c_finalize): New. * passes.c (execute_ipa_summary_passes): Set "current_pass" before invoking generate_summary, for the benefit of pass_ipa_pure_const. (ipa_write_summaries_2): Assign "pass" to "current_pass" global before calling write_summary hook. (ipa_write_optimization_summaries_1): Likewise when calling write_optimization_summary hook. (ipa_read_summaries_1): Likewise for read_summary hook. (ipa_read_optimization_summaries_1): Likewise for read_optimization_summary hook. (execute_ipa_stmt_fixups): Likewise. * stringpool.c (init_stringpool): Clean up if we're called more than once. * timevar.c (timevar_init): Ignore repeated calls. * toplev.c: Include "dwarf2out.h", "ipa-reference.h", "gcse.h", "ipa-prop.h". (general_init): Reset "input_location" to UNKNOWN_LOCATION. (initialize_rtl): Move static local "initialized_once" into file scope, and rename to... (rtl_initialized): New variable. (do_compile): Move timevar initialization from here to toplev::start_timevars. (toplev::toplev, toplev::~toplev, toplev::start_timevars, toplev::finalize): New functions. (toplev_main): Rename to... (toplev::main): ...this. * toplev.h (class toplev): New class. From-SVN: r216522
2014-10-21loop-doloop.c: Include loop-unroll.h.Andrew MacLeod2-0/+5
2014-10-21 Andrew MacLeod <amacleod@redhat.com> * loop-doloop.c: Include loop-unroll.h. From-SVN: r216521
2014-10-21prog_bar.cc: Qualify size_t.Joern Rennecke4-7/+13
* testsuite/util/io/prog_bar.cc: Qualify size_t. * testsuite/util/io/prog_bar.hpp: Likewise. * testsuite/util/io/verified_cmd_line_input.hpp: Likewise. From-SVN: r216520
2014-10-21compiler: Remove obsolete hidden_fields_are_ok code.Ian Lance Taylor6-274/+31
The language used to forbid assigning structs with hidden fields, but that was changed before the Go 1 release. At the time the change was experimental, so I left the old code in the compiler. At this point it's clearly not experimental, so this removes the unused code. From-SVN: r216519
2014-10-21cfg.h: New.Andrew MacLeod10-119/+225
2014-10-21 Andrew MacLeod <amacleod@redhat.com> * cfg.h: New. Header file for cfg.c. * cfganal.h: New. Header file for cfganal.c. * lcm.h: New. Header file for lcm.c. * loop-unroll.h: New. Header file for loop-unroll.h. * cfgloop.h: (unroll_loops): Remove prototype. * basic-block.h: Move prototypes and structs to new header files. Include cfg.h, cfganal.h, and lcm.h. * loop-init.c: Include loop-unroll.h. * loop-unroll.c: (referenced_in_one_insn_in_loop_p): Make static. * modulo-sched.c: Include loop-unroll.h. From-SVN: r216518
2014-10-21[ARM] Update testcases for GNU11Jiong Wang14-6/+54
2014-10-21 Jiong Wang <jiong.wang@arm.com> * gcc.target/arm/20031108-1.c (Proc_7): Add explicit declaration. (Proc_1): Add return type. * gcc.target/arm/cold-lc.c (show_stack): Add explict declaration. * gcc.target/arm/neon-modes-2.c (foo): Likewise. * gcc.target/arm/pr43920-2.c (lseek): Likewise. * gcc.target/arm/pr44788.c (foo): Likewise. * gcc.target/arm/pr55642.c (abs): Likewise. * gcc.target/arm/pr58784.c (f): Likewise. * gcc.target/arm/pr60650.c (foo1, foo2): Likewise. * gcc.target/arm/vfp-ldmdbs.c (bar): Likewise. * gcc.target/arm/vfp-ldmias.c (bar): Likewise. * gcc.target/arm/pr60650-2.c (fn1, fn2): Add return type and add type for local variables. * lib/target-supports.exp (check_effective_target_arm_crypto_ok_nocache): Add declaration for vaeseq_u8. (check_effective_target_arm_neon_fp16_ok_nocache): Add declaration for vcvt_f16_f32. (check_effective_target_arm_neonv2_ok_nocache): Add declaration for vfma_f32. * gcc.target/arm/pr51968.c: Add -Wno-implicit-function-declaration. From-SVN: r216517
2014-10-21parser.c (cp_parser_unary_expression): Add default arguments.Paolo Carlini2-27/+18
2014-10-21 Paolo Carlini <paolo.carlini@oracle.com> * parser.c (cp_parser_unary_expression): Add default arguments. (cp_parser_cast_expression, cp_parser_sizeof_operand, cp_parser_omp_atomic): Adjust. From-SVN: r216516
2014-10-21Implement more Library Fundamentals v1 variable templates.Ville Voutilainen11-0/+384
2014-10-21 Ville Voutilainen <ville.voutilainen@gmail.com> Implement more Library Fundamentals v1 variable templates. * include/Makefile.am: Add ratio, chrono and system_error. * include/Makefile.in: Regenerate. * include/experimental/chrono: New. * include/experimental/ratio: Likewise. * include/experimental/system_error: Likewise. * include/experimental/tuple (tuple_size_v): Likewise. * testsuite/experimental/chrono/value.cc: Likewise. * testsuite/experimental/ratio/value.cc: Likewise. * testsuite/experimental/system_error/value.cc: Likewise. * testsuite/experimental/tuple/tuple_size.cc: Likewise. From-SVN: r216513
2014-10-21* gcc.dg/bf-spl1.c (main): Fix implicit int.Andreas Schwab2-0/+5
From-SVN: r216512
2014-10-21tree-ssa-math-opts.c (find_bswap_or_nop_1): Fix creation of ↵Thomas Preud'homme4-2/+26
MARKER_BYTE_UNKNOWN markers when handling casts. 2014-10-21 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * tree-ssa-math-opts.c (find_bswap_or_nop_1): Fix creation of MARKER_BYTE_UNKNOWN markers when handling casts. gcc/testsuite/ * gcc.dg/optimize-bswaphi-1.c: New bswap pass test. From-SVN: r216511
2014-10-21tree-ssa-phiopt.c (value_replacement): Properly verify we are the ↵Richard Biener2-1/+6
non-singleton PHI. 2014-10-21 Richard Biener <rguenther@suse.de> * tree-ssa-phiopt.c (value_replacement): Properly verify we are the non-singleton PHI. From-SVN: r216510
2014-10-21devirt-42.C: Fix dump scanning routines.Richard Biener5-10/+17
2014-10-21 Richard Biener <rguenther@suse.de> * g++.dg/ipa/devirt-42.C: Fix dump scanning routines. * g++.dg/ipa/devirt-46.C: Likewise. * g++.dg/ipa/devirt-47.C: Likewise. * g++.dg/tree-prof/pr35545.C: Likewise. From-SVN: r216509
2014-10-21re PR tree-optimization/63563 (ICE: in vectorizable_store, at ↵Jakub Jelinek4-2/+33
tree-vect-stmts.c:5106 with -mavx2) PR tree-optimization/63563 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out if either dra or drb stmts are not normal loads/stores. * gcc.target/i386/pr63563.c: New test. From-SVN: r216507
2014-10-21Fix date of last ChangeLog entry.Jonathan Wakely1-1/+1
From-SVN: r216506
2014-10-21inclhack.def (glibc_c99_inline_4): Add pthread.h to files.Uros Bizjak3-4/+10
* inclhack.def (glibc_c99_inline_4): Add pthread.h to files. * fixincl.x: Regenerate. From-SVN: r216505
2014-10-21i386.c (expand_vec_perm_1): Fix expand_vec_perm_palignr case.Ilya Tocar3-6/+14
* config/i386/i386.c (expand_vec_perm_1): Fix expand_vec_perm_palignr case. * config/i386/sse.md (<ssse3_avx2>_palignr<mode>_mask): Use VI1_AVX512. From-SVN: r216504
2014-10-21re PR libquadmath/55821 (Release tarballs (unconditionally) install ↵Francois-Xavier Coudert3-4/+9
libquadmath.info when libquadmath is not supported) PR libquadmath/55821 * Makefile.am: Unconditionally define libquadmath_TEXINFOS. * Makefile.in: Regenerate. From-SVN: r216503
2014-10-21Revert r216483.Kirill Yukhin2-71/+45
From-SVN: r216502
2014-10-21cfgloopanal.c (seq_cost): Delete.Zhenqiang Chen5-40/+28
2014-10-21 Zhenqiang Chen <zhenqiang.chen@arm.com> * cfgloopanal.c (seq_cost): Delete. * rtl.h (seq_cost): New prototype. * rtlanal.c (seq_cost): New function. * tree-ssa-loop-ivopts.c (seq_cost): Delete. From-SVN: r216501
2014-10-21Daily bump.GCC Administrator1-1/+1
From-SVN: r216500
2014-10-20compiler, runtime: Add type information to single object allocation.Ian Lance Taylor8-49/+85
From-SVN: r216490
2014-10-20reflect: allocate correct type in assignTo and cvtT2IIan Lance Taylor1-11/+11
Backport https://codereview.appspot.com/155450044 from the master Go library. Original description: I came across this while debugging a GC problem in gccgo. There is code in assignTo and cvtT2I that handles assignment to all interface values. It allocates an empty interface even if the real type is a non-empty interface. The fields are then set for a non-empty interface, but the memory is recorded as holding an empty interface. This means that the GC has incorrect information. This is extremely unlikely to fail, because the code in the GC that handles empty interfaces looks like this: obj = nil; typ = eface->type; if(typ != nil) { if(!(typ->kind&KindDirectIface) || !(typ->kind&KindNoPointers)) obj = eface->data; In the current runtime the condition is always true--if KindDirectIface is set, then KindNoPointers is clear--and we always want to set obj = eface->data. So the question is what happens when we incorrectly store a non-empty interface value in memory marked as an empty interface. In that case eface->type will not be a *rtype as we expect, but will instead be a pointer to an Itab. We are going to use this pointer to look at a *rtype kind field. The *rtype struct starts out like this: type rtype struct { size uintptr hash uint32 // hash of type; avoids computation in hash tables _ uint8 // unused/padding align uint8 // alignment of variable with this type fieldAlign uint8 // alignment of struct field with this type kind uint8 // enumeration for C An Itab always has at least two pointers, so on a little-endian 64-bit system the kind field will be the high byte of the second pointer. This will normally be zero, so the test of typ->kind will succeed, which is what we want. On a 32-bit system it might be possible to construct a failing case by somehow getting the Itab for an interface with one method to be immediately followed by a word that is all ones. The effect would be that the test would sometimes fail and the GC would not mark obj, leading to an invalid dangling pointer. I have not tried to construct this test. I noticed this in gccgo, where this error is much more likely to cause trouble for a rather random reason: gccgo uses a different layout of rtype, and in gccgo the kind field happens to be the low byte of a pointer, not the high byte. From-SVN: r216489
2014-10-20re PR c++/63601 (Segfault on usage of 'this' in unevaluated context inside ↵Jason Merrill5-18/+35
lambda) PR c++/63601 * lambda.c (current_nonlambda_function): New. * semantics.c (finish_this_expr): Use it. * cp-tree.h: Declare it. From-SVN: r216488
2014-10-20[multiple changes]Arnaud Charlet3-67/+78
2014-10-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch3.adb (Build_Derived_Private_Type): When the parent is untagged and has discriminants, build the implicit full view even if the derived type is a completion, and make it the Underlying_Full_View of the type. (Copy_And_Build): Fix Is_Completion actual parameter in the calls to Build_Derived_Type. (Build_Derived_Record_Type): Likewise. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Add guard to convention setting. From-SVN: r216487
2014-10-20cfgrtl.h: New.Andrew MacLeod16-51/+97
2014-10-20 Andrew MacLeod <amacleod@redhat.com> * cfgrtl.h: New. Add prototypes for cfgrtl.c. * basic-block.h: Remove prototypes for cfgrtl.c. * cfghooks.h (cfg_layout_initialize, cfg_layout_finalize): Move prototypes to cfgrtl.h. * profile.h (profile_info): Add extern export declaration. * rtl.h: Remove prototypes for cfgrtl.h. * tree-cfg.h (gt_ggc_mx, gt_pch_nx): Move prototypes to here. * ipa-inline.c: Include profile.h. * loop-unroll.c: Ditto. * modulo-sched.c: Ditto. * postreload-gcse.c: Ditto. * predict.c: Ditto. * sched-ebb.c: Ditto. * sched-rgn.c: Ditto. * tracer.c: Ditto. * tree-ssa-loop-ivcanon.c: Ditto. From-SVN: r216485
2014-10-20re PR c/63307 (Cilk+ breaks -fcompare-debug bootstrap)Igor Zamyatin2-41/+87
PR c/63307 gcc/c-family/ * cilk.c: Include vec.h. (struct cilk_decls): New structure. (wrapper_parm_cb): Split this function to... (fill_decls_vec): ...this... (create_parm_list): ...and this. (compare_decls): New function. (for_local_cb): Remove. (wrapper_local_cb): Ditto. (build_wrapper_type): For now first traverse and fill vector of declarations then sort it and then deal with sorted vector. (cilk_outline): Ditto. (declare_one_free_variable): Ditto. From-SVN: r216483
2014-10-20[multiple changes]Arnaud Charlet11-40/+151
2014-10-20 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor reformatting. 2014-10-20 Robert Dewar <dewar@adacore.com> * par-prag.adb (Add_List_Pragma_Entry): New procedure. * par.adb (P_Pragma): Document requirement to handle multiple calls. 2014-10-20 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): Fix error of bad inheritance of this pragma from with'ed unit. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype, inherit convention from parent type, because the subtype may have been declared on a partial view, prior to the pragma on the parent. 2014-10-20 Olivier Hainque <hainque@adacore.com> Tristan Gingold <gingold@adacore.com> * gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7. Misc clean ups. 2014-10-20 Nicolas Roche <roche@adacore.com> * gcc-interface/Make-lang.in: ensure that automatically generated dependency are referencing generated gnatvsn rather than original one. From-SVN: r216482
2014-10-20gnat_ugn.texi: Minor reformatting.Gary Dismukes3-2/+7
2014-10-20 Gary Dismukes <dismukes@adacore.com> * gnat_ugn.texi: Minor reformatting. * sem_ch3.adb: Minor reformatting. From-SVN: r216480
2014-10-20[multiple changes]Arnaud Charlet8-3/+130
2014-10-20 Vincent Celier <celier@adacore.com> * prj-attr.adb: New project level attribute Runtime. * prj-conf.adb (Get_Project_Runtimes): New procedure to get the attributes Runtime declared in the main project, to use in auto-configuration. (Get_Or_Create_Configuration_File): Call Get_Project_Runtimes. * prj-proc.adb (Runtime_Defaults): New table to store the default values of attributes Runtime (<language>). (Set_Default_Runtime_For): New procedure to store the default value of a Runtime (<language>) in table Runtime_Defaults. (Expression): Use the value stored in table Runtime_Defaults as the default for Runtime (<language>). * prj-proc.ads (Set_Default_Runtime_For): New procedure. * prj.ads (Attribute_Default_Value): New enumerated value Runtime_Value. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): If the type is an unconstrained unchecked_union type, rewrite declaration as a renaming to prevent attempt to retrieve non- existent discriminants from expression. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * gnat_ugn.texi: Minor reformatting. From-SVN: r216479
2014-10-20[multiple changes]Arnaud Charlet7-69/+205
2014-10-20 Tristan Gingold <gingold@adacore.com> * init.c (__gnat_is_stack_guard): Don't use mach_vm_region_recurse on arm-darwin. * raise-gcc.c: Add ATTRIBUTE_UNUSED to remove warnings for unused arguments. 2014-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Analyze_Attribute): Replace variables CS and PS with Proc_Id and Subp_Id to better illustrate their purpose. Account for the case where _Postconditions has not been generated yet and the context is aspect/pragma Refined_Post. In that scenario the expected prefix of attribute 'Result is the current scope. 2014-10-20 Robert Dewar <dewar@adacore.com> * par-ch4.adb (P_Expression): Handle extraneous comma/semicolon in middle of expression with logical operators. 2014-10-20 Robert Dewar <dewar@adacore.com> * par-ch13.adb (Possible_Misspelled_Aspect): New function. 2014-10-20 Steve Baird <baird@adacore.com> * pprint.adb: Improve Expression_Image function. From-SVN: r216477
2014-10-20gnat_rm.texi: Document No_Tagged_Streams pragma and aspect.Robert Dewar15-42/+262
2014-10-20 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document No_Tagged_Streams pragma and aspect. * snames.ads-tmpl: Add entry for pragma No_Tagged_Streams. * aspects.ads, aspects.adb: Add aspect No_Tagged_Streams. * einfo.adb (No_Tagged_Streams_Pragma): New field. * einfo.ads: Minor reformatting (reorder entries). (No_Tagged_Streams_Pragma): New field. * exp_ch3.adb: Minor comment update. * opt.ads (No_Tagged_Streams): New variable. * par-prag.adb: Add dummy entry for pragma No_Tagged_Streams. * sem.ads (Save_No_Tagged_Streams): New field in scope record. * sem_attr.adb (Check_Stream_Attribute): Check stream ops prohibited by No_Tagged_Streams. * sem_ch3.adb (Analyze_Full_Type_Declaration): Set No_Tagged_Streams_Pragma. (Analyze_Subtype_Declaration): ditto. (Build_Derived_Record_Type): ditto. (Record_Type_Declaration): ditto. * sem_ch8.adb (Pop_Scope): Restore No_Tagged_Streams. (Push_Scope): Save No_Tagged_Streams. * sem_prag.adb (Analyze_Pragma, case No_Tagged_Streams): Implement new pragma. From-SVN: r216476
2014-10-20[multiple changes]Arnaud Charlet8-35/+72
2014-10-20 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, prj-proc.adb, sem_ch4.adb, prj-env.adb, lib.ads, sem_ch13.adb: Minor reformatting. 2014-10-20 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Expand the declaration of a class-wide limited object containing an initializing expression into a renaming declaration. Required to avoid passing such declaration to the backend and also to avoid generating an extra copy. From-SVN: r216475
2014-10-20[multiple changes]Arnaud Charlet12-83/+264
2014-10-20 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (List_Inlining_Info): Minor tweaks. (Add_Inlined_Body): Inline the enclosing package if it is not internally generated, even if it doesn't come from source. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Process_Function_Call): If the first actual denotes a discrete type, the mode must be interpreted as a slice of an array returned by a parameterless call. 2014-10-20 Vasiliy Fofanov <fofanov@adacore.com> * prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit searching for runtime referenced by a simple name on a project path. 2014-10-20 Olivier Hainque <hainque@adacore.com> * vxworks-x86-link.spec: New file. * system-vxworks-x86.ads: Add pragma Linker_Options to link with vxworks-x86-link.spec. 2014-10-20 Vincent Celier <celier@adacore.com> * opt.ads (Origin_Of_Target): New type. (Target_Origin): New variable. * prj-conf.adb (Parse_Project_And_Apply_Config): Record Target_Value and Target_Origin. If target was not specified on the command line with --target=, check if attribute Target is declared in the main project. If it is and it is not the native target, parse again the projects so that 'Target get the new value. Fail if the target has changed again. Invoke Process_Project_And_Apply_Config with Do_Phase_1 set to False is Process_Project_Tree_Phase_1 has already been invoked. * prj-conf.ads (Process_Project_And_Apply_Config): New Boolean parameter Do_Phase_1, defaulted to True. * prj-proc.adb (Expression): Check the special values and defaults for attribute Target. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze the subprogram spec of the body in full, because it will be reanalyzed when the declaration itself is analyzed; otherwise. a formal may end up duplicated in the list of formals leading to spurious conformance errors with an existing declaration. From-SVN: r216473
2014-10-20sem_ch13.adb: Improve error recovery on illegal aspect.Ed Schonberg2-16/+32
2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Improve error recovery on illegal aspect. From-SVN: r216472
2014-10-20[multiple changes]Arnaud Charlet9-14/+69
2014-10-20 Arnaud Charlet <charlet@adacore.com> * set_targ.adb (Write_Target_Dependent_Values, Write_Line): Fix calling C APIs with no trailing NUL char by calling better wrappers instead. 2014-10-20 Tristan Gingold <gingold@adacore.com> * gnat_ugn.texi: Document that gdb users must be in group _developer on mac os. 2014-10-20 Arnaud Charlet <charlet@adacore.com> * a-tgdico.ads: Fix typo. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Convert_To_Assignments): Do not create a transient scope for a component whose type requires it, if the context is an initialization procedure, because the target of the assignment must be visible outside of the block. 2014-10-20 Tristan Gingold <gingold@adacore.com> * tracebak.c: Define PC_ADJUST for arm-darwin. * env.c: Remove darwin specific code. * raise-gcc.c (__gnat_Unwind_ForcedUnwind): Error on arm-darwin. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Full_Type_Declaration): If previous view is incomplete rather than private, and full type declaration has aspects, analyze aspects on the full view rather than the incomplete view, to prevent freezing anomalies with the class-wide type. From-SVN: r216470
2014-10-20slsr-19.c: Make robust against operand order changes.Richard Biener3-3/+8
2014-10-20 Richard Biener <rguenther@suse.de> * gcc.dg/tree-ssa/slsr-19.c: Make robust against operand order changes. * gcc.dg/tree-ssa/reassoc-20.c: Likewise. From-SVN: r216465
2014-10-20Makefile.am: Move ctype.cc, ctype_configure_char.cc and ctype_members.cc to ...Jonathan Wakely38-52/+275
* src/c++98/Makefile.am: Move ctype.cc, ctype_configure_char.cc and ctype_members.cc to ... * src/c++11/Makefile.am: Here. * src/c++98/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/ctype.cc: Move file to ... * src/c++11/ctype.cc: Here, define ctype_base::blank. * config/abi/pre/gnu.ver: Export ctype_base::blank. * config/locale/generic/ctype_members.cc (ctype<wchar_t>::_M_convert_to_wmask): Handle blank. Update comments. * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::_M_convert_to_wmask): Likewise. * config/os/aix/ctype_base.h (ctype_base::blank): Declare. * config/os/bionic/ctype_base.h (ctype_base::blank): Likewise. * config/os/bsd/darwin/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/darwin/ctype_inline.h (ctype<char>::is): Use blank. (ctype<wchar_t::do_is): Likewise. * config/os/bsd/dragonfly/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/dragonfly/ctype_inline.h (ctype<char>::is): Use blank. (ctype<wchar_t::do_is): Likewise. * config/os/bsd/freebsd/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/freebsd/ctype_inline.h (ctype<char>::is): Use blank. (ctype<wchar_t::do_is): Likewise. * config/os/bsd/netbsd/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/openbsd/ctype_base.h (ctype_base::blank): Likewise. * config/os/djgpp/ctype_base.h (ctype_base::blank): Likewise. * config/os/generic/ctype_base.h (ctype_base::blank): Declare. * config/os/generic/ctype_inline.h (ctype<char>::is): Use blank. * config/os/gnu-linux/ctype_base.h (ctype_base::blank): Declare. * config/os/hpux/ctype_base.h (ctype_base::blank): Likewise. * config/os/mingw32-w64/ctype_base.h (ctype_base::blank): Declare. * config/os/mingw32-w64/ctype_configure_char.cc (ctype<char>::classic_table()): Set blank bit for space and tab. * config/os/mingw32/ctype_base.h (ctype_base::blank): Declare. * config/os/mingw32/ctype_configure_char.cc (ctype<char>::classic_table()): Set blank bit for space and tab. * config/os/newlib/ctype_base.h (ctype_base::blank): Declare. * config/os/qnx/qnx6.1/ctype_base.h (ctype_base::blank): Likewise. * config/os/solaris/solaris2.10/ctype_base.h (ctype_base::blank): Likewise. * config/os/tpf/ctype_base.h (ctype_base::blank): Likewise. * config/os/uclibc/ctype_base.h (ctype_base::blank): Likewise. * config/os/vxworks/ctype_base.h (ctype_base::blank): Likewise. * include/bits/locale_facets.h (isblank): Define. * include/bits/localefwd.h (isblank): Declare. * testsuite/22_locale/classification/isblank.cc: New. * testsuite/22_locale/ctype_base/blank.cc: New. From-SVN: r216464
2014-10-20tree-vect-slp.c (vect_get_and_check_slp_defs): Try swapping operands to get ↵Richard Biener2-26/+92
a def operand kind match. 2014-10-20 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_get_and_check_slp_defs): Try swapping operands to get a def operand kind match. Signal mismatches to the parent so we can try swapping its operands. (vect_build_slp_tree): Try swapping operands if they have a mismatched operand kind. From-SVN: r216463
2014-10-20re PR debug/60655 (ICE: output_operand: invalid expression as operand)Alan Modra2-17/+30
PR debug/60655 * simplify-rtx.c (simplify_plus_minus): Delete unused "input_ops". Increase "ops" array size. Correct array size tests. Init n_constants in loop. Break out of innermost loop when finding a trivial CONST expression. From-SVN: r216462
2014-10-20re PR tree-optimization/63583 (ICF does not check that the template strings ↵Martin Liska3-0/+13
are the same) PR ipa/63583 * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Gimple tempate string is compared. * gcc.dg/ipa/pr63595.c: New test. From-SVN: r216458
2014-10-20varasm.c (const_alias_set): Remove.Uros Bizjak2-7/+6
* varasm.c (const_alias_set): Remove. (init_varasm_once): Remove initialization of const_alias_set. (build_constant_desc): Do not set alias set to const_alias_set. From-SVN: r216454
2014-10-20PR 63589 Fix splitting of PATH in find_addr2line.Janne Blomqvist5-19/+51
2014-10-20 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/63589 * configure.ac: Check for strtok_r. * runtime/main.c (gfstrtok_r): Fallback implementation of strtok_r. (find_addr2line): Use strtok_r to split PATH. * config.h.in: Regenerated. * configure: Regenerated. From-SVN: r216449
2014-10-20Daily bump.GCC Administrator1-1/+1
From-SVN: r216447
2014-10-19Fix race in libstdc++ testsuiteMaxim Kuvyrkov2-12/+23
* testsuite/lib/libstdc++.exp (v3-copy-file): New proc split from ... (v3-copy-files): ... this. Update. (check_v3_target_fileio): Fix race on cin_unget-1.txt file. From-SVN: r216444
2014-10-19re PR fortran/48979 (FRACTION und EXPONENT return invalid results for ↵Francois-Xavier Coudert6-30/+178
infinity/NaN) PR fortran/48979 * trans-const.c (gfc_build_nan): New function. * trans-const.h (gfc_build_nan): New prototype. * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special values. (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan. (gfc_conv_intrinsic_fraction): Handle special values. (gfc_conv_intrinsic_spacing): Likewise. (gfc_conv_intrinsic_rrspacing): Likewise. (gfc_conv_intrinsic_set_exponent): Likewise. * gfortran.dg/ieee/intrinsics_2.F90: New test. From-SVN: r216443
2014-10-19Set SECTION_EXCLUDE flag for LTO sections.Ilya Verbin5-16/+29
gcc/ * configure: Regenerate. * configure.ac: Move the test for section attribute specifier "e" in GAS out to all i[34567]86-*-* | x86_64-*-* targets and add --fatal-warnings. * langhooks.c (lhd_begin_section): Set SECTION_EXCLUDE flag. * varasm.c (default_elf_asm_named_section): Guard SECTION_EXCLUDE with ifdef HAVE_GAS_SECTION_EXCLUDE. From-SVN: r216442
2014-10-19md.texi (RTL Template): Correct equivalent match_operand expression.Andreas Schwab2-48/+53
* doc/md.texi (RTL Template) [match_scratch]: Correct equivalent match_operand expression. From-SVN: r216441
2014-10-19re PR c/63567 (Linux kernel build error due to non-static initializers)Marek Polacek5-1/+31
PR c/63567 * c-typeck.c (output_init_element): Allow initializing objects with static storage duration with compound literals even in C99 and add pedwarn for it. * gcc.dg/pr63567-3.c: New test. * gcc.dg/pr63567-4.c: New test. From-SVN: r216440