aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-11-07optabs.c (get_atomic_op_for_code): Fill in optab table at runtime so ↵Andrew MacLeod2-38/+76
SWITCHABLE_TARGET can change the valuies... 2011-11-07 Andrew MacLeod <amacleod@redhat.com> * optabs.c (get_atomic_op_for_code): Fill in optab table at runtime so SWITCHABLE_TARGET can change the valuies during compilation. (expand_atomic_fetch_op): handle parameter changes ripples for get_atomic_op_for_code call. From-SVN: r181112
2011-11-07atomic_base.h (atomic_thread_fence): Call builtin.Andrew MacLeod5-37/+78
2011-11-07 Andrew MacLeod <amacleod@redhat.com> libstdc++-v3 * include/bits/atomic_base.h (atomic_thread_fence): Call builtin. (atomic_signal_fence): Call builtin. (atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree, otherwise fall back to call __sync_lock_test_and_set. (atomic_flag::clear): Call __atomic_store when it is lockfree, otherwise fall back to call __sync_lock_release. gcc * doc/extend.texi: Docuemnt behaviour change for __atomic_exchange and __atomic_store. * optabs.c (expand_atomic_exchange): Expand to __sync_lock_test_and_set only when originated from that builtin. (expand_atomic_store): Expand to __sync_lock_release when originated from that builtin. * builtins.c (expand_builtin_sync_lock_test_and_set): Add flag that expand_atomic_exchange call originated from here. (expand_builtin_sync_lock_release): Add flag that expand_atomic_store call originated from here. (expand_builtin_atomic_exchange): Add origination flag. (expand_builtin_atomic_store): Add origination flag. * expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean parameters to indicate implementation fall back options. From-SVN: r181111
2011-11-07re PR fortran/50919 ([OOP] Don't use vtable for NON_OVERRIDABLE TBP)Janus Weil5-26/+94
2011-11-07 Janus Weil <janus@gcc.gnu.org> PR fortran/50919 * class.c (add_proc_comp): Don't add non-overridable procedures to the vtable. * resolve.c (resolve_typebound_function,resolve_typebound_subroutine): Don't generate a dynamic _vptr call for non-overridable procedures. 2011-11-07 Janus Weil <janus@gcc.gnu.org> PR fortran/50919 * gfortran.dg/typebound_call_21.f03: New. From-SVN: r181107
2011-11-07avr.c (output_reload_in_const): Can handle CONSTANT_P now, not only ↵Georg-Johann Lay2-106/+59
CONST_INT and CONST_DOUBLE. * config/avr/avr.c (output_reload_in_const): Can handle CONSTANT_P now, not only CONST_INT and CONST_DOUBLE. (output_movqi): Use output_reload_in_const. (output_reload_inhi): Ditto. (output_reload_insisf): Move assertion to output_reload_in_const. (avr_out_reload_inpsi): Ditto. From-SVN: r181106
2011-11-07libgcov.c (struct gcov_fn_buffer): New struct.Nathan Sidwell14-412/+592
libgcc/ * libgcov.c (struct gcov_fn_buffer): New struct. (buffer_fn_data): New helper. (gcov_exit): Rework for new gcov data structures. gcc/ * gcov.c (object_summary): Replace with ... (object_runs): ... this. (process_file): Remove functions with no data. (generate_results): Ignore files with no lines. (release_function): New helper, broken out of ... (release_structures): ... here. Use it. (read_count_file): Adjust for new data file format. (output_lines): Use object_runs. * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete. (struct gcov_ctr_info): Move definition. (struct gcov_fn_info): Add key field, use gcov_ctr_info for trailing array. (struct gcov_info): Add merge function array, remove mask and counts. Trailing array is array of pointers to function info. * coverage.c (struct function_list): Replace counter numbers with counter arrays. Add fndecl field. GTYify. (counts_entry): Remove chain workspace. (functions_head): GTYify. (prg_n_ctrs): Remove. (fn_v_ctrs): New. (tree_ctr_tables): Remove. (read_counts_file): Cope with blank entries and expect program summaries before functions. Don't warn on missing entries. (coverage_counter_alloc): Allocate individual function arrays. (tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust for individual function arrays. (coverage_end_function): GTYify function list object. Finalize function's counter arrays. (build_var): New. Create a counter-related variable with appropriate linkage. (build_fn_info_type): Adjust for new runtime structure. (build_fn_info_value): Rename to ... (build_fn_info): ... here. Build new format data. (build_ctr_info_type, build_ctr_info_value): Remove. (build_info_type): New. Build new format data structure. (build_info): Adjust for new format data. (create_coverage): Likewise. * gcov-dump.c (tag_function): Recognize placeholders. gcc/testsuite/ * gcc.dg/profile-dir-1.c: Adjust final scan. * gcc.dg/profile-dir-2.c: Adjust final scan. * gcc.dg/profile-dir-3.c: Adjust final scan. * gcc.misc-tests/gcov.exp: Adjust regexp. * gcc.misc-tests/gcov-12.c: New. * gcc.misc-tests/gcov-13.c: New. * gcc.misc-tests/gcovpart-13b.c: New. * gcc.misc-tests/gcov-14.c: New. From-SVN: r181105
2011-11-07constraints.md (Cm2): New constraint for int -2.Georg-Johann Lay3-6/+27
* config/avr/constraints.md (Cm2): New constraint for int -2. * config/avr/avr.md (addqi3): Use it. New alternatives for +/-2. (*negqihi2): New insn. From-SVN: r181103
2011-11-07re PR c++/35688 (template visibility not overridden by template arguments)Jason Merrill8-34/+65
PR c++/35688 * decl2.c (constrain_visibility): Return void. Add tmpl parm which gives the constraint priority over an attribute. (constrain_visibility_for_template, determine_visibility): Adjust. * pt.c (instantiate_class_template_1): Call determine_visibility. From-SVN: r181102
2011-11-07add PR tagJason Merrill1-0/+1
From-SVN: r181101
2011-11-07re PR c++/33255 (A warning for "unused" typedefs?)Jason Merrill2-0/+4
PR c++/33255 * decl.c (save_function_data): Clear local_typedefs. From-SVN: r181100
2011-11-07decl.c (cp_finish_decl): Only make_tree_vector if we're calling ↵Jason Merrill2-1/+11
check_initializer. * decl.c (cp_finish_decl): Only make_tree_vector if we're calling check_initializer. From-SVN: r181099
2011-11-07Check HARD_FRAME_POINTER_REGNUM.H.J. Lu2-1/+8
2011-11-07 H.J. Lu <hongjiu.lu@intel.com> * dwarf2cfi.c (dwarf2out_frame_debug_expr): Check HARD_FRAME_POINTER_REGNUM instead of hard_frame_pointer_rtx in Rule 18. From-SVN: r181096
2011-11-07[multiple changes]Arnaud Charlet17-120/+205
2011-11-07 Olivier Hainque <hainque@adacore.com> * sigtramp-ppcvxw.c: Add general comments. (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add rules for r2 to r13, plus CTR and XER. (CFA_REG): New, register number used to hold the local CFA. (CFI_DEF_CFA, SIGTRAMP_BODY): Use it. Make that 15, not 14, with documentation. (TCR): Undef before definition, preventing conflict with reg number in VxWorks headers. 2011-11-07 Robert Dewar <dewar@adacore.com> * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb, aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2011-11-07 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb: A tagged type is a legal actual for an aliased formal. 2011-11-07 Pascal Obry <obry@adacore.com> * g-socket.adb, g-socket.ads: Minor reformatting. 2011-11-07 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Actuals): Minor error message improvement. 2011-11-07 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Add discussion of default mode handling of source representation with no -gnatW option given, in particular noting that NEL (next line) is not recognized in this context. From-SVN: r181094
2011-11-07[multiple changes]Arnaud Charlet6-47/+84
2011-11-07 Yannick Moy <moy@adacore.com> * sem_util.adb (Note_Possible_Modification): In Alfa mode, generate a reference for a modification even when the modification does not come from source. 2011-11-07 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form, use the indexing attributes rather than the Element function, to obtain variable references. * sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use Find_Aspect rather than iterating over representation items. Improve error message. * a-cohama.adb, a-cohama.ads Update to latest RM, with two versions of Reference functions. From-SVN: r181093
2011-11-07[multiple changes]Arnaud Charlet5-2/+56
2011-11-07 Yannick Moy <moy@adacore.com> * sem_util.adb (Unique_Entity): For a parameter on a subprogram body that has a corresponding parameter on the subprogram declaration, define the unique entity as being the declaration one. 2011-11-07 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the return type of a function is the class-wide type of an incomplete type T, T can be a Taft-amendment type and does not have to be completed in the current private part. 2011-11-07 Ed Schonberg <schonberg@adacore.com> * aspects.ads (Inherited_Aspect): Map that indicates type aspects that are inherited by default, and apply to the class-wide type as well. * aspects.adb (Find_Aspect): If the entity is class-wide and the aspect is inherited, use the aspect of the specific type. From-SVN: r181092
2011-11-07[multiple changes]Arnaud Charlet7-133/+193
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
2011-11-07i386.c (ix86_expand_builtin): If gather mask argument is known to have all ↵Jakub Jelinek4-3/+122
high bits set... * 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
2011-11-07re PR tree-optimization/50789 (Gather vectorization)Jakub Jelinek17-123/+1279
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
2011-11-07clock and time are part of the C standard library.Janne Blomqvist2-6/+11
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
2011-11-07pr49781-1.c (dg-options): Add -mtune=generic.Uros Bizjak2-1/+5
* gcc.target/i386/pr49781-1.c (dg-options): Add -mtune=generic. From-SVN: r181086
2011-11-07Revert previous fix for PR 45723.Janne Blomqvist2-9/+5
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
2011-11-07target-supports.exp (check_effective_target_sync_int_128): Don't cache the ↵Uros Bizjak3-31/+21
result. * 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
2011-11-07f16cintrin: Remove extra _X86INTRIN_H_INCLUDED check.Uros Bizjak2-11/+11
* config/i386/f16cintrin: Remove extra _X86INTRIN_H_INCLUDED check. From-SVN: r181080
2011-11-07config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs.Tristan Gingold6-0/+270
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
2011-11-07vms.h (TARGET_OBJECT_SUFFIX, [...]): Move to config/vms/vms.hTristan Gingold7-119/+106
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
2011-11-07re PR target/50962 (Additional opportunity for AGU stall avoidance ↵Enkovich Ilya4-1/+37
optimization for Atom processor) 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
2011-11-07re PR rtl-optimization/47698 (CMOV accessing volatile memory with read side ↵Sergey Ostanevich4-3/+25
effect) 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
2011-11-07alpha-common.c (alpha_option_init_struct): New function.Tristan Gingold3-0/+31
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
2011-11-07Fix r180999, update ChangeLogQuentin Neill2-6/+9
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
2011-11-06re PR c++/35688 (template visibility not overridden by template arguments)Jason Merrill7-10/+70
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
2011-11-07Fix r180999.Quentin Neill2-3/+8
2011-11-05 Quentin Neill <quentin.neill@amd.com> Fix r180999. * config.gcc: Add f16cintrin.h. From-SVN: r181068
2011-11-07config.gcc (arm*-*-rtemseabi*): New target.Sebastian Huber4-1/+48
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
2011-11-06Get rid of sparc's UNSPEC_SHORT_LOAD.David S. Miller2-11/+30
* 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
2011-11-07wmul-1.c: Adjust optimization level.Terry Guo5-4/+11
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
2011-11-07re PR target/30282 (Optimization flag -O1 -fschedule-insns2 cause red zone ↵Alan Modra2-3/+9
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
2011-11-07cygwin.h (LIBGCJ_SONAME): Updated to match recent libgcj version bump.Dave Korn3-2/+8
* config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent libgcj version bump. * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise. From-SVN: r181055
2011-11-07gcse.c: Adjust outdated comments throughout.Eric Botcazou2-148/+146
* 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
2011-11-07Daily bump.GCC Administrator1-1/+1
From-SVN: r181053
2011-11-06c-decl.c (shadow_tag_warned, [...]): Handle _Alignas specifiers.Joseph Myers22-22/+506
* 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
2011-11-06regset.h (fixed_reg_set_regset): Declare.Joern Rennecke6-26/+166
* 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
2011-11-06gfortran.h (gfc_extend_expr): Modified prototype.Janus Weil4-19/+20
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
2011-11-06re PR c++/47695 ([C++0X] Calling a deleted function fails twice)Paolo Carlini4-14/+25
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
2011-11-06tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove any user labels.Jakub Jelinek2-2/+7
* tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove any user labels. From-SVN: r181040
2011-11-06pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.John David Anglin2-45/+56
* 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
2011-11-06Check in patch/merge from cxx-mem-model BranchAndrew Macleod105-1323/+9335
From-SVN: r181031
2011-11-06Remove unwanted svn:executable properties that svn add had decided to add.Joern Rennecke8-0/+0
From-SVN: r181030
2011-11-062011-11-6 Richard Guenther <rguenther@suse.de>Richard Guenther2-1/+9
* ipa-prop.c (ipa_modify_call_arguments): Re-compute inlinable flag. From-SVN: r181027
2011-11-06tree-vectorizer.h (vectorizable_condition): Add argument.Ira Rosen9-79/+561
* tree-vectorizer.h (vectorizable_condition): Add argument. * tree-vect-loop.c (vectorizable_reduction): Fail for condition in SLP. Update calls to vectorizable_condition. * tree-vect-stmts.c (vect_is_simple_cond): Add basic block info to the arguments. Pass it to vect_is_simple_use_1. (vectorizable_condition): Add slp_node to the arguments. Support vectorization of basic blocks. Fail for reduction in SLP. Update calls to vect_is_simple_cond and vect_is_simple_use. Support SLP: call vect_get_slp_defs to get vector operands. (vect_analyze_stmt): Update calls to vectorizable_condition. (vect_transform_stmt): Likewise. * tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR. (vect_get_and_check_slp_defs): Handle COND_EXPR. Allow pattern def stmts. (vect_build_slp_tree): Handle COND_EXPR. (vect_analyze_slp_instance): Push pattern statements to root node. (vect_get_constant_vectors): Fix comments. Handle COND_EXPR. From-SVN: r181026
2011-11-05More improvements to sparc VIS vec_init code generation.David S. Miller17-100/+743
gcc/ * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec. (zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders. (*zero_extend_v8qi_<P:mode>_insn, *zero_extend_v4hi_<P:mode>_insn): New insns. * config/sparc/sparc.c (vector_init_move_words, vector_init_prepare_elts, sparc_expand_vector_init_vis2, sparc_expand_vector_init_vis1): New functions. (vector_init_bshuffle): Rewrite to handle more cases and make use of locs[] array prepared by vector_init_prepare_elts. (vector_init_fpmerge, vector_init_faligndata): Delete. (sparc_expand_vector_init): Rewrite using new infrastructure. gcc/testsuite/ * lib/test-supports.exp (check_effective_target_ultrasparc_vis2_hw): New proc. (check_effective_target_ultrasparc_vis3_hw): New proc. * gcc.target/sparc/vec-init-1.inc: New vector init common code. * gcc.target/sparc/vec-init-2.inc: Likewise. * gcc.target/sparc/vec-init-3.inc: Likewise. * gcc.target/sparc/vec-init-1-vis1.c: New test. * gcc.target/sparc/vec-init-1-vis2.c: New test. * gcc.target/sparc/vec-init-1-vis3.c: New test. * gcc.target/sparc/vec-init-2-vis1.c: New test. * gcc.target/sparc/vec-init-2-vis2.c: New test. * gcc.target/sparc/vec-init-2-vis3.c: New test. * gcc.target/sparc/vec-init-3-vis1.c: New test. * gcc.target/sparc/vec-init-3-vis2.c: New test. * gcc.target/sparc/vec-init-3-vis3.c: New test. From-SVN: r181024
2011-11-06Daily bump.GCC Administrator1-1/+1
From-SVN: r181021
2011-11-05* decl.c (cp_finish_decl): Mostly revert previous change.Jason Merrill2-5/+11
From-SVN: r181017