- 07 Nov, 2011 30 commits
-
-
2011-11-07 Hristian Kirtchev <kirtchev@adacore.com> * exp_alfa.adb: Remove with and use clause for Exp_Ch8. Add with and use clause for Exp_Util. Remove local constant Disable_Processing_Of_Renamings. (Expand_Alfa_N_Object_Renaming_Declaration): The expansion of object renamings has been reenabled. (Expand_Possible_Renaming): The expansion of identifier and expanded names has been reenabled. Perform the substitutions only for entities that denote an object. * exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util. * exp_util.adb (Evaluate_Name): Moved from Exp_Ch8. (Remove_Side_Effects): Alphabetize local variables. Add a guard to avoid the infinite expansion of an expression in Alfa mode. Add processing for function calls in Alfa mode. * exp_util.ads (Evaliate_Name): Moved from Exp_Ch8. 2011-11-07 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): If the entity is an access to subprogram whose designated type is itself a subprogram type, its own return type must be decorated with size information. From-SVN: r181091
Arnaud Charlet committed -
* config/i386/i386.c (ix86_expand_builtin): If gather mask argument is known to have all high bits set, pass pc_rtx as second argument to the expander instead of op0. * config/i386/sse.md (*avx2_gathersi<mode>_2, *avx2_gatherdi<mode>_2): New patterns. * config/i386/avx2intrin.h (_mm256_i32gather_pd, _mm256_i64gather_pd, _mm256_i32gather_ps): Set mask using _mm256_cmp_pd with zero vector arguments and _CMP_EQ_OQ instead of _mm256_set1_pd. From-SVN: r181090
Jakub Jelinek committed -
PR tree-optimization/50789 * tree-vect-stmts.c (process_use): Add force argument, avoid exist_non_indexing_operands_for_use_p check if true. (vect_mark_stmts_to_be_vectorized): Adjust callers. Handle STMT_VINFO_GATHER_P. (gen_perm_mask): New function. (perm_mask_for_reverse): Use it. (reverse_vec_element): Rename to... (permute_vec_elements): ... this. Add Y and MASK_VEC arguments, generalize for any permutations. (vectorizable_load): Adjust caller. Handle STMT_VINFO_GATHER_P. * target.def (TARGET_VECTORIZE_BUILTIN_GATHER): New hook. * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_GATHER): Document it. * doc/tm.texi: Regenerate. * tree-data-ref.c (initialize_data_dependence_relation, compute_self_dependence): No longer static. * tree-data-ref.h (initialize_data_dependence_relation, compute_self_dependence): New prototypes. * tree-vect-data-refs.c (vect_check_gather): New function. (vect_analyze_data_refs): Detect possible gather load data refs. * tree-vectorizer.h (struct _stmt_vec_info): Add gather_p field. (STMT_VINFO_GATHER_P): Define. (vect_check_gather): New prototype. * config/i386/i386-builtin-types.def: Add types for alternate gather builtins. * config/i386/sse.md (AVXMODE48P_DI): Remove. (VEC_GATHER_MODE): Rename mode_attr to... (VEC_GATHER_IDXSI): ... this. (VEC_GATHER_IDXDI, VEC_GATHER_SRCDI): New mode_attrs. (avx2_gathersi<mode>, *avx2_gathersi<mode>): Use <VEC_GATHER_IDXSI> instead of <VEC_GATHER_MODE>. (avx2_gatherdi<mode>): Use <VEC_GATHER_IDXDI> instead of <<AVXMODE48P_DI> and <VEC_GATHER_SRCDI> instead of VEC_GATHER_MODE on src and mask operands. (*avx2_gatherdi<mode>): Likewise. Use VEC_GATHER_MODE iterator instead of AVXMODE48P_DI. (avx2_gatherdi<mode>256, *avx2_gatherdi<mode>256): Removed. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_GATHERALTSIV4DF, IX86_BUILTIN_GATHERALTDIV8SF, IX86_BUILTIN_GATHERALTSIV4DI and IX86_BUILTIN_GATHERALTDIV8SI. (ix86_init_mmx_sse_builtins): Create those builtins. (ix86_expand_builtin): Handle those builtins and adjust expansions of other gather builtins. (ix86_vectorize_builtin_gather): New function. (TARGET_VECTORIZE_BUILTIN_GATHER): Define. * gcc.target/i386/avx2-gather-1.c: New test. * gcc.target/i386/avx2-gather-2.c: New test. * gcc.target/i386/avx2-gather-3.c: New test. * gcc.target/i386/avx2-gather-4.c: New test. From-SVN: r181089
Jakub Jelinek committed -
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org> * intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clock and time are part of the C standard library. From-SVN: r181087
Janne Blomqvist committed -
* gcc.target/i386/pr49781-1.c (dg-options): Add -mtune=generic. From-SVN: r181086
Uros Bizjak committed -
libgfortran ChangeLog: 2011-11-07 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/45723 * io/open.c (new_unit): Don't check file size before attempting seek. testsuite ChangeLog: 2011-11-07 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/45723 * gfortran.dg/open_dev_null.F90: Remove testcase. From-SVN: r181085
Janne Blomqvist committed -
* acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define. (GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define. (GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define. * configure.ac: Use new checks. * configure: Regenerate. * config.h.in: Regenerate. * src/thread.cc: Check new config macros. * testsuite/lib/libstdc++.exp: Likewise. From-SVN: r181084
Jonathan Wakely committed -
* lib/target-supports.exp (check_effective_target_sync_int_128): Don't cache the result. (check_effective_target_sync_long_long): Ditto. From-SVN: r181082
Uros Bizjak committed -
From-SVN: r181081
Jonathan Wakely committed -
* config/i386/f16cintrin: Remove extra _X86INTRIN_H_INCLUDED check. From-SVN: r181080
Uros Bizjak committed -
2011-11-07 Tristan Gingold <gingold@adacore.com> * config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs. * config/vms/t-vms: Add vms-c.o rule. * config/vms/vms-c.c: New file. * config/vms/vms-protos.h (vms_c_register_pragma): New prototype. * config/vms/vms.h (REGISTER_TARGET_PRAGMAS): Define. From-SVN: r181079
Tristan Gingold committed -
2011-11-07 Tristan Gingold <gingold@adacore.com> * config/alpha/vms.h (TARGET_OBJECT_SUFFIX, TARGET_EXECUTABLE_SUFFIX, TARGET_OS_CPP_BUILTINS, TARGET_ABI_OPEN_VMS, LONG_TYPE_SIZE, ADA_LONG_TYPE_SIZE, POINTER_SIZE, POINTERS_EXTEND_UNSIGNED): Move to config/vms/vms.h (SUBTARGET_OS_CPP_BUILTINS): Define. (TARGET_DEFAULT): Tune according to POINTER_SIZE. (MASK_RETURN_ADDR): Define in 64 bit mode. * config/ia64/vms.h: Likewise. * config/vms/vms.h: New file. * config/vms/vms64.h: New file. * config/alpha/vms64.h: Removed. * config/ia64/vms64.h: Removed. * config.gcc (alpha64-dec-*vms*, alpha*-dec-*vms*, ia64-hp-*vms*): Adjust for above change. From-SVN: r181078
Tristan Gingold committed -
gcc/ PR target/50962 * config/i386/i386-protos.h (ix86_use_lea_for_mov): New. * config/i386/i386.c (ix86_use_lea_for_mov): Likewise. * config/i386/i386.md (movsi_internal): Emit lea if profitable. (movdi_internal_rex64): Likewise. From-SVN: r181077
Enkovich Ilya committed -
* acinclude.m4: Check for <stdalign.h> * configure: Regenerate. * config.h.in: Likewise. * include/Makefile.am: Add <cstdalign>. * include/Makefile.in: Regenerate. * include/c_global/cstdalign: New. * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New. * doc/xml/manual/backwards_compatibility.xml: Update. * doc/xml/manual/status_cxx2011.xml: Update. From-SVN: r181076
Jonathan Wakely committed -
gcc/ PR rtl-optimization/47698 * ifconv.c (noce_operand_ok): prevent CMOV generation for volatile mem. gcc/testsuite/ PR rtl-optimization/47698 * gcc.target/i386/47698.c: New test. From-SVN: r181075
Sergey Ostanevich committed -
2011-11-07 Tristan Gingold <gingold@adacore.com> * common/config/alpha/alpha-common.c (alpha_option_init_struct): New function. (TARGET_OPTION_INIT_STRUCT): Define. * config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET) (TARGET_MAX_ANCHOR_OFFSET) (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine. From-SVN: r181074
Tristan Gingold committed -
PR libstdc++/50982 * include/std/mutex (__once_proxy): Use void parameter list to work on implicit extern "C" systems. From-SVN: r181072
Jonathan Wakely committed -
From-SVN: r181071
Xinliang David Li committed -
2011-11-06 Quentin Neill <quentin.neill@amd.com> Fix r180999, update ChangeLog * config.gcc: Add f16cintrin.h. * f16cintrin.h: Add missing endif. From-SVN: r181070
Quentin Neill committed -
PR c++/35688 gcc/c-common/ * c-common.c (decl_has_visibility_attr): Split out from... (c_determine_visibility): ...here. * c-common.h: Declare it. gcc/cp/ * decl2.c (constrain_visibility): Check decl_has_visibility_attr rather than DECL_VISIBILITY_SPECIFIED. From-SVN: r181069
Jason Merrill committed -
2011-11-05 Quentin Neill <quentin.neill@amd.com> Fix r180999. * config.gcc: Add f16cintrin.h. From-SVN: r181068
Quentin Neill committed -
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de> * config.host (arm*-*-rtemseabi*): New target. From-SVN: r181065
Sebastian Huber committed -
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de> * config.gcc (arm*-*-rtemseabi*): New target. * config/arm/rtems-eabi.h: New. * config/arm/t-rtems-eabi: New. From-SVN: r181064
Sebastian Huber committed -
* config/sparc/sparc.md (UNSPEC_SHORT_LOAD): Delete. (zero_extend_v8qi_vis, zero_extend_v4hi_vis, *zero_extend_v8qi_<P:mode>_insn, *zero_extend_v4hi_<P:mode>_insn): Express using vec_merge and vec_duplicate instead of using an UNSPEC. From-SVN: r181063
David S. Miller committed -
2011-11-07 Terry Guo <terry.guo@arm.com> * gcc.target/arm/wmul-1.c: Adjust optimization level. * gcc.target/arm/wmul-2.c: Ditto. * gcc.target/arm/wmul-3.c: Ditto. * gcc.target/arm/wmul-4.c: Ditto. From-SVN: r181062
Terry Guo committed -
re PR target/30282 (Optimization flag -O1 -fschedule-insns2 cause red zone to be used when there is none) PR target/30282 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit blockage for ABI_V4. From-SVN: r181056
Alan Modra committed -
* config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent libgcj version bump. * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise. From-SVN: r181055
Dave Korn committed -
* gcse.c: Adjust outdated comments throughout. (struct mem_conflict_info): New structure. (mems_conflict_for_gcse_p): Use it to communicate with caller. (load_killed_in_block_p): Pass it to note_stores. (hash_expr): Remove superfluous line break. (hash_scan_set): Rename PAT parameter into SET. (hash_scan_insn): Reorder cases. (canon_list_insert): Fix long line. (edge_list): Delete. (prune_expressions): Rename E local variable into EXPR. (compute_pre_data): Return struct edge_list * object. (pre_expr_reaches_here_p_work): Fix formatting. (process_insert_insn): Move around comment. (pre_edge_insert): Fix long line. (pre_insert_copies): Likewise. (gcse_emit_move_after): Swap SRC and DEST parameters. (pre_delete): Adjust call to gcse_emit_move_after. (pre_gcse): Take struct edge_list * parameter. Fix long line. (one_pre_gcse_pass): Use flag_gcse_lm condition for all routines. Use a local list of edges. (hoist_code): Fix long line. Adjust call to gcse_emit_move_after. (pre_ldst_expr_hash): Fix long line. (free_ldst_mems): Rename into... (free_ld_motion_mems): ...this. (first_ls_expr): Delete. (next_ls_expr): Likewise. (print_ldst_list): Do not use above two functions. (simple_mem): Adjust interface. (compute_ld_motion_mems): Fix formatting. (update_ld_motion_stores): Reuse local variable. From-SVN: r181054
Eric Botcazou committed -
From-SVN: r181053
GCC Administrator committed -
* include/bits/basic_string.h (basic_string::at): Move adjacent to other overload. (basic_string::pop_back): Define. * include/debug/string (__gnu_debug::basic_string::pop_back): Likewise. * include/ext/vstring.h (__versa_string::pop_back): Likewise. * config/abi/pre/gnu.ver: Add new symbols. * testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New. * testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New. * testsuite/21_strings/basic_string/range_access.cc: Split to ... * testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ... * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here. * testsuite/ext/vstring/modifiers/char/pop_back.cc: New. * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New. From-SVN: r181049
Jonathan Wakely committed
-
- 06 Nov, 2011 10 commits
-
-
* c-decl.c (shadow_tag_warned, grokdeclarator): Handle _Alignas specifiers. (build_null_declspecs): Initialize align_log and alignas_p fields. (declspecs_add_alignas): New. * c-parser.c (c_token_starts_declspecs): Handle RID_ALIGNAS. (c_parser_declspecs): Handle _Alignas specifiers. (c_parser_alignas_specifier): New. (c_parser_alignof_expression): Diagnose alignof use for non-C1X. Diagnose _Alignof (expression). * c-tree.h (struct c_declspecs): Add align_log and alignas_p fields. (declspecs_add_alignas): Declare. * ginclude/stddef.h (max_align_t): Define for C1X and C++11. * ginclude/stdalign.h: New. * Makefile.in (USER_H): Add stdalign.h. c-family: * c-common.c (c_common_reswords): Add _Alignas and _Alignof. (c_sizeof_or_alignof_type): Diagnose alignof applied to a function type. (check_user_alignment): New. Split out of handle_aligned_attribute. Disallow integer constants with noninteger types. Conditionally allow zero. (handle_aligned_attribute): Use check_user_alignment. * c-common.h (RID_ALIGNAS, check_user_alignment): New. testsuite: * g++.dg/cpp0x/alignof3.C, gcc.dg/c1x-align-1.c, gcc.dg/c1x-align-2.c, gcc.dg/c1x-align-3.c, gcc.dg/c1x-align-4.c, gcc.dg/c90-align-1.c, gcc.dg/c99-align-1.c: New tests. * gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu90-const-expr-1.c, gcc.dg/gnu99-const-expr-1.c, gcc.dg/gnu99-static-1.c: Update expected diagnostics. From-SVN: r181048
Joseph Myers committed -
* doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for C++11 compiler features and library headers. Add stable id attributes. Use <filename> element for headers and surround in angle brackets. Use <classname> for classes. * doc/html/*: Regenerate. From-SVN: r181047
Jonathan Wakely committed -
* regset.h (fixed_reg_set_regset): Declare. * dse.c: Include regset.h . (struct insn_info): Add member fixed_regs_live. (note_add_store_info): New typedef. (note_add_store): New function. (emit_inc_dec_insn_before): Expect arg to be of type insn_info_t . Use gen_add3_insn / gen_move_insn. Check new insn for unwanted clobbers before emitting it. (check_for_inc_dec): Rename to... (check_for_inc_dec_1:) ... this. Return bool. Take insn_info parameter. Changed all callers in file. (check_for_inc_dec, copy_fixed_regs): New functions. (scan_insn): Set fixed_regs_live field of insn_info. * rtl.h (check_for_inc_dec): Update prototype. * postreload.c (reload_cse_simplify): Take new signature of check_ind_dec into account. * reginfo.c (fixed_reg_set_regset): New variable. (init_reg_sets_1): Initialize it. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r181046
Joern Rennecke committed -
* doc/xml/manual/status_cxx2011.xml: Document <cuchar> and <cstdalign> as missing. From-SVN: r181045
Jonathan Wakely committed -
2011-11-06 Janus Weil <janus@gcc.gnu.org> * gfortran.h (gfc_extend_expr): Modified prototype. * interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'. Remove argument 'real_error'. * resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'. From-SVN: r181044
Janus Weil committed -
2011-11-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47695 * decl2.c (mark_used): Early return false after error or sorry. * cp-tree.h (mark_used): Adjust declaration. * semantics.c (finish_id_expression): Check mark_used return value. From-SVN: r181042
Paolo Carlini committed -
* doc/xml/faq.xml: Replace references to C++0x with C++11. * doc/xml/manual/intro.xml: Likewise. * doc/xml/manual/backwards_compatibility.xml: Likewise. * doc/xml/manual/shared_ptr.xml: Likewise. * doc/xml/manual/configure.xml: Likewise. * doc/xml/manual/evolution.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/xml/manual/strings.xml: Likewise. * doc/xml/manual/debug_mode.xml: Likewise. * doc/xml/manual/policy_data_structures.xml: Likewise. * doc/xml/manual/extensions.xml: Likewise. * doc/xml/manual/diagnostics.xml: Likewise. * doc/xml/manual/test.xml: Likewise. * doc/xml/manual/status_cxx200x.xml: Likewise, and rename to... * doc/xml/manual/status_cxx2011.xml: Here. * doc/Makefile.am: Rename status_cxx200x.xml. * doc/Makefile.in: Regenerate. * doc/html/*: Regenerate. From-SVN: r181041
Jonathan Wakely committed -
* tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove any user labels. From-SVN: r181040
Jakub Jelinek committed -
PR other/50991 * Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of extra-parts. From-SVN: r181039
John David Anglin committed -
* config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs. Remove dependence of declaration and target define on definition of HPUX_LONG_DOUBLE_LIBRARY. Update implementation. From-SVN: r181038
John David Anglin committed
-