summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2014-10-22 Richard Biener <rguenther@suse.de>rguenth2014-10-222-1/+6
| | | | | | | | * Makefile.in (s-match): Adjust dependencies to only catch match.pd. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216545 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Update target testcases for gnu11jiwang2014-10-228-12/+39
| | | | | | | | | | | | | | | gcc/testsuite/ * gcc.target/aarch64/pic-constantpool1.c: Add explicit declaration. * gcc.target/aarch64/pic-symrefplus.c: Likewise. * gcc.target/aarch64/reload-valid-spoff.c: Likewise. * gcc.target/aarch64/vect.x: Likewise. * gcc.target/aarch64/vect-ld1r.x: Add return type. * gcc.target/aarch64/vect-fmax-fmin.c: Likewise. * gcc.target/aarch64/vect-fp.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216544 138bc75d-0d04-0410-961f-82ee72b054a4
* [Dejagnu] fix gcc-dg-prune glitch when filtering "relocation truncation" errorjiwang2014-10-223-7/+17
| | | | | | | | | | | gcc/testsuite/ * lib/compat.exp (compat-run): Remove "unresolved". * lib/gcc-defs.exp (${tools}_check_compile): Update code logic for unsupported testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216543 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-22 Richard Biener <rguenther@suse.de>rguenth2014-10-2213-15/+4648
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * Makefile.in (OBJS): Add gimple-match.o and generic-match.o. (MOSTLYCLEANFILES): Add gimple-match.c and generic-match.c. (gimple-match.c): Generate by triggering s-match. (generic-match.c): Likewise. (s-match): Rule to build gimple-match.c and generic-match.c by running the genmatch generator program. (build/hash-table.o): Dependencies to build hash-table.c for the host. (build/genmatch.o): Dependencies to build genmatch. (genprog): Add match. (build/genmatch): Likewise. (TEXI_GCCINT_FILES): Add match-and-simplify.texi. * generic-match-head.c: New file. * gimple-match-head.c: Likewise. * gimple-match.h: Likewise. * genmatch.c: Likewise. * match.pd: Likewise. * builtins.h (fold_builtin_n): Export. * builtins.c (fold_builtin_n): Likewise. * gimple-fold.h (gimple_build): Declare various overloads. (gimple_simplify): Likewise. (gimple_convert): Re-implement in terms of gimple_build. * gimple-fold.c (gimple_convert): Remove. (gimple_build): New functions. * doc/match-and-simplify.texi: New file. * doc/gccint.texi: Add menu item Match and Simplify and include match-and-simplify.texi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216542 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/63594jakub2014-10-2215-34/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.c (ix86_expand_vector_init_duplicate): For V{8HI,16QI,16HI,32QI}mode call ix86_vector_duplicate_value even for just TARGET_AVX2, not only for TARGET_AVX512VL && TARGET_AVX512BW. For V{32HI,64QI}mode, call ix86_vector_duplicate_value only if TARGET_AVX512BW, otherwise build it using concatenation of 256-bit broadcast. * config/i386/sse.md (AVX_VEC_DUP_MODE): Moved after avx512 broadcast patterns. (vec_dup<mode>): Likewise. For avx2 use v<sseintprefix>broadcast<bcstscalarsuff> instead of vbroadcast<ssescalarmodesuffix>. (AVX2_VEC_DUP_MODE): New mode iterator. (*vec_dup<mode>): New TARGET_AVX2 define_insn with AVX2_VEC_DUP_MODE iterator, add a splitter for that. * gcc.dg/pr63594-1.c: New test. * gcc.dg/pr63594-2.c: New test. * gcc.target/i386/sse2-pr63594-1.c: New test. * gcc.target/i386/sse2-pr63594-2.c: New test. * gcc.target/i386/avx-pr63594-1.c: New test. * gcc.target/i386/avx-pr63594-2.c: New test. * gcc.target/i386/avx2-pr63594-1.c: New test. * gcc.target/i386/avx2-pr63594-2.c: New test. * gcc.target/i386/avx512f-pr63594-1.c: New test. * gcc.target/i386/avx512f-pr63594-2.c: New test. * gcc.target/i386/avx512f-vec-init.c: Adjust expected insn counts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216541 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/63542jakub2014-10-225-6/+94
| | | | | | | | | | | | | | * config/i386/i386.c (ix86_pic_register_p): Also return true if x is a hard register with ORIGINAL_REGNO equal to pic_offset_table_rtx pseudo REGNO. (ix86_delegitimize_address): For ix86_use_pseudo_pic_reg () after reload, subtract GOT_SYMBOL_NAME symbol if possible. * gcc.target/i386/pr63542-1.c: New test. * gcc.target/i386/pr63542-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216540 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/amodra2014-10-2215-83/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gengtype.h (obstack_chunk_alloc, obstack_chunk_free): Remove cast. * coretypes.h (obstack_chunk_alloc, obstack_chunk_free): Likewise. (gcc_obstack_init): Use obstack_specify_allocation in place of _obstack_begin. * genautomata.c (next_sep_el): Cast result of obstack_base to (char *). (regexp_representation): Likewise. * godump.c (go_output_type): Likewise. gcc/java/ * mangle.c (finish_mangling): Cast result of obstack_base to (char *). * typeck.c (build_java_argument_signature): Likewise. (build_java_signature): Likewise. gcc/objc/ * objc-encoding.c (encode_array): Cast result of obstack_base. (encode_type): Likewise. libcpp/ * symtab.c (ht_create): Use obstack_specify_allocation in place of _obstack_begin. * files.c (_cpp_init_files): Likewise. * init.c (cpp_create_reader): Likewise. * identifiers.c (_cpp_init_hashtable): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216539 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-10-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216538 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Remove MASK_JUMP_IN_DELAY from target_cpu_default2.danglin2014-10-214-4/+10
| | | | | | | | | * config/pa/pa.h (TARGET_DEFAULT): Remove MASK_JUMP_IN_DELAY. * config/pa/pa.opt (mjump-in-delay): Ignore option. Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216530 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2014-10-212-2/+10
| | | | | | | * doc/invoke.texi (pedantic-errors): Explain better. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216528 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:amylaar2014-10-2119-154/+1429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-10-21 Joern Rennecke <joern.rennecke@embecosm.com> Vidya Praveen <vidya.praveen@atmel.com> Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com> Senthil Kumar Selvaraj <Senthil_Kumar.Selvaraj@atmel.com> Pitchumani Sivanupandi <Pitchumani.S@atmel.com> * config/avr/avr-c.c (avr_cpu_cpp_builtins): Don't define __MEMX for avrtiny. * config/avr/avr.c (avr_insert_attributes): Reject __memx for avrtiny. (avr_nonconst_pointer_addrspace): Likewise. * config/avr/avr.h (AVR_HAVE_LPM): Define. Added AVRTINY architecture to avr target. * config/avr/avr-arch.h (avr_arch): Added AVRTINY architecture. (base_arch_s): member added for AVRTINY architecture. * config/avr/avr.c: Added TINY_ADIW, TINY_SBIW macros as AVRTINY alternate for adiw/sbiw instructions. Added AVR_TMP_REGNO and AVR_ZERO_REGNO macros for tmp and zero registers. Replaced TMP_REGNO and ZERO_REGNO occurrences by AVR_TMP_REGNO and AVR_ZERO_REGNO respectively. LAST_CALLEE_SAVED_REG macro added for the last register in callee saved register list. (avr_option_override): CCP address updated for AVRTINY. (avr_init_expanders): tmp and zero rtx initialized as per arch. Reset avr_have_dimode if AVRTINY. (sequent_regs_live): Use LAST_CALLEE_SAVED_REG instead magic number. (emit_push_sfr): Use AVR_TMP_REGNO for tmp register number. (avr_prologue_setup_frame): Don't minimize prologue if AVRTINY. Use LAST_CALLEE_SAVED_REG to refer last callee saved register. (expand_epilogue): Likewise. (avr_print_operand): Print CCP address in case of AVRTINY also. <TBD>bad address (function_arg_regno_p): Check different register list for arguments if AVRTINY. (init_cumulative_args): Check for AVRTINY to update number of argument registers. (tiny_valid_direct_memory_access_range): New function. Return false if direct memory access range is not in accepted range for AVRTINY. (avr_out_movqi_r_mr_reg_disp_tiny): New function to handle register indirect load (with displacement) for AVRTINY. (out_movqi_r_mr): Updated instruction length for AVRTINY. Call avr_out_movqi_r_mr_reg_disp_tiny for load from reg+displacement. (avr_out_movhi_r_mr_reg_no_disp_tiny): New function to handle register indirect load (no displacement) for AVRTINY. (avr_out_movhi_r_mr_reg_disp_tiny): New function to handle register indirect load (with displacement) for AVRTINY. (avr_out_movhi_r_mr_pre_dec_tiny): New function to handle register indirect load for pre-decrement address. (out_movhi_r_mr): In case of AVRTINY, call tiny register indirect load functions. Update instruction length for AVRTINY. (avr_out_movsi_r_mr_reg_no_disp_tiny): New function. Likewise, for SImode. (avr_out_movsi_r_mr_reg_disp_tiny): New function. Likewise, for SImode. (out_movsi_r_mr): Likewise, for SImode. (avr_out_movsi_mr_r_reg_no_disp_tiny): New function to handle register indirect store (no displacement) for AVRTINY. (avr_out_movsi_mr_r_reg_disp_tiny): New function to handle register indirect store (with displacement) for AVRTINY. (out_movsi_mr_r): Emit out insn for IO address store. Update store instruction's size for AVRTINY. For AVRTINY, call tiny SImode indirect store functions. (avr_out_load_psi_reg_no_disp_tiny): New function to handle register indirect load (no displacement) for PSImode in AVRTINY. (avr_out_load_psi_reg_disp_tiny): New function to handle register indirect load (with displacement) for PSImode in AVRTINY. (avr_out_load_psi): Call PSImode register indirect load functions for AVRTINY. Update instruction length for AVRTINY. (avr_out_store_psi_reg_no_disp_tiny): New function to handle register indirect store (no displacement) for PSImode in AVRTINY. (avr_out_store_psi_reg_disp_tiny): New function to handle register indirect store (with displacement) for PSImode in AVRTINY. (avr_out_store_psi): Update instruction length for AVRTINY. Call tiny register indirect store functions for AVRTINY. (avr_out_movqi_mr_r_reg_disp_tiny): New function to handle QImode register indirect store (with displacement) for AVRTINY. (out_movqi_mr_r): Update instruction length for AVRTINY. Call tiny register indirect store function for QImode in AVRTINY. (avr_out_movhi_mr_r_xmega): Update instruction length for AVRTINY. (avr_out_movhi_mr_r_reg_no_disp_tiny): New function to handle register indirect store (no displacement) for HImode in AVRTINY. (avr_out_movhi_mr_r_reg_disp_tiny): New function to handle register indirect store (with displacement) for HImode in AVRTINY. (avr_out_movhi_mr_r_post_inc_tiny): New function to handle register indirect store for post-increment address in HImode. (out_movhi_mr_r): Update instruction length for AVRTINY. Call tiny register indirect store function for HImode in AVRTINY. (avr_out_compare): Use TINY_SBIW/ TINY_ADIW in place of sbiw/adiw in case of AVRTINY. (order_regs_for_local_alloc): Updated register allocation order for AVRTINY. (avr_conditional_register_usage): New function. It is a target hook (TARGET_CONDITIONAL_REGISTER_USAGE) function which updates fixed, call used registers list and register allocation order for AVRTINY. (avr_return_in_memory): Update return value size for AVRTINY. * config/avr/avr-c.c (avr_cpu_cpp_builtins): Added builtin macros for AVRTINY arch and tiny program memory base address. * config/avr/avr-devices.c (avr_arch_types): Added AVRTINY arch. (avr_texinfo): Added description for AVRTINY arch. * config/avr/avr.h: Added macro to identify AVRTINY arch. Updated STATIC_CHAIN_REGNUM for AVRTINY. * config/avr/avr-mcus.def: Added AVRTINY arch devices. * config/avr/avr.md: Added constants for tmp/ zero registers in AVRTINY. Attributes for AVRTINY added. (mov<mode>): Move src/ dest address to register if it is not in AVRTINY memory access range. (mov<mode>_insn): Avoid QImode direct load for AVRTINY if address not in AVRTINY memory access range. (*mov<mode>): Likewise for HImode and SImode. (*movsf): Likewise for SFmode. (delay_cycles_2): Updated instructions to be emitted as AVRTINY does not have sbiw. * config/avr/avr-protos.h: Added function prototype for tiny_valid_direct_memory_access_range. * config/avr/avr-tables.opt: Regenerate. * gcc/config/avr/t-multilib: Regenerate. * doc/avr-mmcu.texi: Regenerate. gcc/testsuite: 2014-10-21 Joern Rennecke <joern.rennecke@embecosm.com> * gcc.target/avr/tiny-memx.c: New test. * gcc.target/avr/tiny-caller-save.c: New test. libgcc: 2014-10-21 Joern Rennecke <joern.rennecke@embecosm.com> Vidya Praveen <vidya.praveen@atmel.com> Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com> Senthil Kumar Selvaraj <Senthil_Kumar.Selvaraj@atmel.com> Pitchumani Sivanupandi <Pitchumani.S@atmel.com> * config/avr/lib1funcs.S (__do_global_dtors): Go back to descending order. Updated library functions for AVRTINY arch. * config/avr/lib1funcs.S: Updated zero/tmp regs for AVRTINY. Replaced occurrences of r0/r1 with tmp/zero reg macros. Added wsubi/ wadi macros that expands conditionally as sbiw/ adiw or AVRTINY equivalent. Replaced occurrences of sbiw/adiw with wsubi/wadi macors. (__mulsi3_helper): Update stack, preserve callee saved regs and argument from stack. Restore callee save registers. (__mulpsi3): Likewise. (__muldi3, __udivmodsi4, __divmodsi4, __negsi2, __umoddi3, __udivmod64, __moddi3, __adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8, __negdi2, __prologue_saves__, __epilogue_restores__): Excluded for AVRTINY. (__tablejump2__): Added lpm equivalent instructions for AVRTINY. (__do_copy_data): Added new definition for AVRTINY. (__do_clear_bss): Replace r17 by r18 to preserve zero reg for AVRTINY. (__load_3, __load_4, __xload_1, __xload_2, __xload_3, __xload_4, __movmemx_qi, __movmemx_hi): Excluded for AVRTINY. * config/avr/lib1funcs-fixed.S: Replaced occurrences of r0/r1 with tmp/zero reg macros. Replaced occurrences of sbiw/adiw with wsubi/wadi macors. * config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for AVRTINY. Fix broken long multiplication on tiny arch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216525 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Andrew Pinski <apinski@cavium.com>pinskia2014-10-216-3/+165
| | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216524 138bc75d-0d04-0410-961f-82ee72b054a4
* Add AutoFDO.dehao2014-10-2122-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216523 138bc75d-0d04-0410-961f-82ee72b054a4
* State cleanups from jit branchdmalcolm2014-10-2124-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216522 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Andrew MacLeod <amacleod@redhat.com>amacleod2014-10-212-0/+5
| | | | | | | | | * loop-doloop.c: Include loop-unroll.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216521 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/util/io/prog_bar.cc: Qualify size_t.amylaar2014-10-214-7/+13
| | | | | | | | * testsuite/util/io/prog_bar.hpp: Likewise. * testsuite/util/io/verified_cmd_line_input.hpp: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216520 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Remove obsolete hidden_fields_are_ok code.ian2014-10-216-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216519 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Andrew MacLeod <amacleod@redhat.com>amacleod2014-10-2110-119/+225
| | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216518 138bc75d-0d04-0410-961f-82ee72b054a4
* [ARM] Update testcases for GNU11jiwang2014-10-2114-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216517 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Paolo Carlini <paolo.carlini@oracle.com>paolo2014-10-212-27/+18
| | | | | | | | | * parser.c (cp_parser_unary_expression): Add default arguments. (cp_parser_cast_expression, cp_parser_sizeof_operand, cp_parser_omp_atomic): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216516 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>redi2014-10-2111-0/+384
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216513 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/bf-spl1.c (main): Fix implicit int.schwab2014-10-212-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216512 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Thomas Preud'homme <thomas.preudhomme@arm.com>thopre012014-10-214-2/+26
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216511 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Richard Biener <rguenther@suse.de>rguenth2014-10-212-1/+6
| | | | | | | | * tree-ssa-phiopt.c (value_replacement): Properly verify we are the non-singleton PHI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Richard Biener <rguenther@suse.de>rguenth2014-10-215-10/+17
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216509 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/63563jakub2014-10-214-2/+33
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216507 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix date of last ChangeLog entry.redi2014-10-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216506 138bc75d-0d04-0410-961f-82ee72b054a4
* * inclhack.def (glibc_c99_inline_4): Add pthread.h to files.uros2014-10-213-4/+10
| | | | | | | | * fixincl.x: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216505 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (expand_vec_perm_1): Fixjakub2014-10-213-6/+14
| | | | | | | | | expand_vec_perm_palignr case. * config/i386/sse.md (<ssse3_avx2>_palignr<mode>_mask): Use VI1_AVX512. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216504 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libquadmath/55821fxcoudert2014-10-213-4/+9
| | | | | | | | * Makefile.am: Unconditionally define libquadmath_TEXINFOS. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216503 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert r216483.kyukhin2014-10-212-71/+45
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216502 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-21 Zhenqiang Chen <zhenqiang.chen@arm.com>zqchen2014-10-215-40/+28
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216501 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-10-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216500 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler, runtime: Add type information to single object allocation.ian2014-10-208-49/+85
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216490 138bc75d-0d04-0410-961f-82ee72b054a4
* reflect: allocate correct type in assignTo and cvtT2Iian2014-10-201-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216489 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/63601jason2014-10-205-18/+35
| | | | | | | | * lambda.c (current_nonlambda_function): New. * semantics.c (finish_this_expr): Use it. * cp-tree.h: Declare it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216488 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Eric Botcazou <ebotcazou@adacore.com>charlet2014-10-203-67/+78
| | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216487 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Andrew MacLeod <amacleod@redhat.com>amacleod2014-10-2016-51/+97
| | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216485 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/63307iverbin2014-10-202-41/+87
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216483 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Robert Dewar <dewar@adacore.com>charlet2014-10-2011-40/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216482 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Gary Dismukes <dismukes@adacore.com>charlet2014-10-203-2/+7
| | | | | | | | | * gnat_ugn.texi: Minor reformatting. * sem_ch3.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216480 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Vincent Celier <celier@adacore.com>charlet2014-10-208-3/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216479 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Tristan Gingold <gingold@adacore.com>charlet2014-10-207-69/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216477 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Robert Dewar <dewar@adacore.com>charlet2014-10-2015-42/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216476 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Robert Dewar <dewar@adacore.com>charlet2014-10-208-35/+72
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216475 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Eric Botcazou <ebotcazou@adacore.com>charlet2014-10-2012-83/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216473 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Ed Schonberg <schonberg@adacore.com>charlet2014-10-202-16/+32
| | | | | | | | * sem_ch13.adb: Improve error recovery on illegal aspect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216472 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Arnaud Charlet <charlet@adacore.com>charlet2014-10-209-14/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216470 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Richard Biener <rguenther@suse.de>rguenth2014-10-203-3/+8
| | | | | | | | * gcc.dg/tree-ssa/slsr-19.c: Make robust against operand order changes. * gcc.dg/tree-ssa/reassoc-20.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216465 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/c++98/Makefile.am: Move ctype.cc, ctype_configure_char.cc andredi2014-10-2038-52/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216464 138bc75d-0d04-0410-961f-82ee72b054a4