aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-09-07tree-loop-linear.c: Include obstack.h.Laurynas Biveinis5-62/+149
2007-09-06 Laurynas Biveinis <laurynas.biveinis@gmail.com> * tree-loop-linear.c: Include obstack.h. (linear_transform_loops): New obstack lambda_obstack. Initialize it, pass it to gcc_loopnest_to_lambda_loopnest, lambda_loopnest_transform, lambda_loopnest_to_gcc_loopnest calls and free afterwards. * lambda.h (struct obstack): New forward declaration. (lambda_linear_expression_new): New parameter of type struct obstack *. (lambda_loopnest_new): Likewise. (lambda_loopnest_transform): Likewise. (lambda_body_vector_new): Likewise. (lambda_body_vector_compute_new): Likewise. (gcc_loopnest_to_lambda_loopnest): Likewise. (lambda_loopnest_to_gcc_loopnest): Likewise. * lambda-code.c: Include obstack.h. (lambda_lattice_new): New parameter lambda_obstack. Use it for allocation of ret. (lambda_body_vector_new): Likewise. (lambda_linear_expression_new): Likewise. (lambda_lattice_new): Likewise. (lambda_loopnest_new): Likewise. Additionally use obstack to allocate LN_LOOPS(ret). (lambda_lattice_compute_base): New parameter lambda_obstack. Pass it to lambda_lattice_new. (lambda_body_vector_compute_new): New parameter lambda_obstack. Pass it to lambda_body_vector_new. (lambda_lattice_compute_base): New paramater lambda_obstack. Pass it to lambda_lattice_new. (compute_nest_using_fourier_motzkin): New parameter lambda_obstack. Pass it to lambda_loopnest_new, lambda_linear_expression_new. (lambda_compute_target_space): Likewise. (lambda_compute_auxillary_space): New parameter lambda_obstack. Pass it to lambda_lattice_compute_base and compute_nest_using_fourieer_motzkin. (lambda_loopnest_transform): New parameter lambda_obstack. Pass it to lambda_lattice_compute_base, lambda_lattice_auxillary_space and lambda_lattice_compute_target_space. (gcc_tree_to_linear_expression): Nex parameter lambda_obstack. Pass it to lambda_linear_expression_new. (gcc_loop_to_lambda_loop): New parameter lambda_obstack. Pass it to gcc_tree_to_linear_expression. (gcc_loopnest_to_lambda_loopnest): New parameter lambda_obstack. Pass it to gcc_loop_to_lambda_loop and lambda_loopnest_new. (lambda_loopnest_to_gcc_loopnest): New parameter lambda_obstack. Pass it to lambda_body_vector_new and lambda_body_vector_compute_new. * Makefile.in (tree-loop-linear.o): Add $(OBSTACK_H) dependency. (lambda-code.o): Likewise. From-SVN: r128219
2007-09-07stdfix.h: New file.Chao-ying Fu13-35/+1178
* ginclude/stdfix.h: New file. * Makefile.in (USER_H): Add $(srcdir)/ginclude/stdfix.h. (convert.o): Add dependence on fixed-value.h. * c-convert.c (convert): Support FIXED_POINT_TYPE. * c-cppbuiltin.c (builtin_define_fixed_point_constants): New function to define fixed-point constants. (c_cpp_builtins): Define fixed-point constants. * convert.c (fixed-value.h): New include. (convert_to_real): Update comment to include fixed-point. Support FIXED_POINT_TYPE. (convert_to_integer): Update comment to include fixed-point. Support FIXED_POINT_TYPE. (convert_to_complex): Support FIXED_POINT_TYPE. (convert_to_fixed): New function. * convert.h (convert_to_fixed): Declare. * genopinit.c: Add comment about $Q for only fixed-point modes. (optabs): Add fract_optab, fractuns_optab, satfract_optab, satfractuns_optab, add_optab, ssadd_optab, usadd_optab, sub_optab, sssub_optab, ussub_optab, smul_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab, usmadd_widen_optab, ssdiv_optab, udiv_optab, usdiv_optab, ssashl_optab, usashl_optab, neg_optab, ssneg_optab, usneg_optab for fixed-point modes. (gen_insn): Add force_fixed to track the $Q format for all fixed-point modes. * optabs.c (optab_for_tree_code): For *DIV_EXPR, LSHIFT_EXPR, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, NEGATE_EXPR, return signed or unsigned saturation optabs, when type is saturating. (shift_optab_p): Return true for SS_ASHIFT or US_ASHIFT. (expand_fixed_convert): New function. (gen_fixed_libfunc, gen_signed_fixed_libfunc, gen_unsigned_fixed_libfunc, gen_int_fp_fixed_libfunc, gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc, gen_int_signed_fixed_libfunc, gen_int_unsigned_fixed_libfunc, gen_fract_conv_libfunc, gen_fractuns_conv_libfunc, gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): New functions. (init_optabs): Initialize ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab, usmadd_widen_optab, ssmsub_widen_optab, usmsub_widen_optab, ssdiv_optab, usdiv_optab, ssashl_optab, usashl_optab, ssneg_optab, usneg_optab, fract_optab, fractuns_optab, satfract_optab, satfractuns_optab. Initialize fixed-point libraries, including add, ssadd, usadd, sub, sssub, ussub, mul, ssmul, usmul, div, ssdiv, udiv, usdiv, ashl, ssashl, usashl, ashr, lshr, neg, ssneg, usneg, cmp, fract, satfract, fractuns, satfractuns. * optabs.h (enum optab_index): Add OTI_ssadd, OTI_usadd, OTI_sssub, OTI_ussub, OTI_ssmul, OTI_usmul, OTI_ssdiv, OTI_usdiv, OTI_ssneg, OTI_usneg, OTI_ssashl, OTI_usashl, OTI_ssmadd_widen, OTI_usmadd_widen, OTI_ssmsub_widen, OTI_usmsub_widen. (ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab, usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab, ssashl_optab, usashl_optab, ssmadd_widen_optab, usmadd_widen_optab, umsub_widen_optab, usmsub_widen_optab): Define. (enum convert_optab_index): Add COI_fract, COI_fractuns, COI_satfract, COI_satfractuns. (fract_optab, fractuns_optab, satfract_optab, satfractuns_optab): Define. (expand_fixed_convert): Declare. * expr.c (convert_move): Support the move of fixed-point modes. (emit_move_insn_1): Handle fixed-point mode to move via integer. (categorize_ctor_elements_1): Handle FIXED_CST. (count_type_elements): Handle FIXED_POINT_TYPE. (expand_expr_real_1): For VECTOR_CST, check MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. Support FIXED_CST. For PLUS_EXPR and MINUS_EXPR, support saturating and non-saturating multiply and add/subtract for fixed-point types. For MULT_EXPR, *DIV_EXPR, *SHIFT_EXPR, if the mode if a fixed-point mode, we jump to binop directly. Support FIXED_CONVERT_EXPR. (do_store_flag): Check FIXED_CST to put a constant second. (vector_mode_valid_p): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. (const_vector_from_tree): Support FIXED_CST. * doc/extend.texi (Fixed-Point): New node. * doc/md.texi (ssadd, usadd, sssub, ussub, ssmul, usmul, ssdiv, usdiv, ssmadd, usmadd, ssmsub, usmsub, ssashl, usashl, ssneg, usneg, fract, satfract, fractuns, satfractuns): Document them. From-SVN: r128218
2007-09-07Daily bump.GCC Administrator1-1/+1
From-SVN: r128215
2007-09-06bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc addresses into I ↵Bernd Schmidt2-1/+9
registers. * config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc addresses into I registers. From-SVN: r128212
2007-09-06* jcf-parse.c (parse_class_file): Re-enter the current file.Tom Tromey2-0/+11
From-SVN: r128211
2007-09-06* semantics.c (expand_body): Do not mark arguments of clones used.Jan Hubicka2-20/+4
From-SVN: r128209
2007-09-06boehm.c (mark_reference_fields): Move misaligned pointer checkRoman Zippel2-7/+12
after JREFERENCE_TYPE_P test From-SVN: r128208
2007-09-06darwin.c (machopic_indirect_data_reference): Avoid invalid sharing.Jan Hubicka2-7/+21
2007-09-06 Jan Hubicka <jh@suse.cz> Andreas Tobler <a.tobler@schweiz.org> * config/darwin.c (machopic_indirect_data_reference): Avoid invalid sharing. (machopic_legitimize_pic_address): Likewise. Co-Authored-By: Andreas Tobler <a.tobler@schweiz.org> From-SVN: r128207
2007-09-06re PR libfortran/33298 (Wrong code for SPREAD on zero-sized arrays)Thomas Koenig3-0/+26
2007-09-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/33298 * intrinsics/spread_generic.c(spread_internal): Enable bounds checking by comparing extents if the bounds_check option has been set. If any extent is <=0, return early. 2007-09-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/33298 * spread_zerosize_1.f90: New test case. * spread_bounds_1.f90: New test case. From-SVN: r128206
2007-09-06spu.md (floatsidf2): Use convert_optab_libfunc instead of ↵Andrew Pinski2-4/+15
ufloat_optab->handlers directly. 2007-09-06 Andrew Pinski <andrew_pinski@playstation.sony.com> Jan Hubicka <jh@suse.cz> * config/spu/spu.md (floatsidf2): Use convert_optab_libfunc instead of ufloat_optab->handlers directly. (floatdidf2): Likewise. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r128202
2007-09-06re PR c++/32674 (ICE in lvalue_p_1 initialising static variable inside ↵Paolo Carlini4-1/+45
template class) /cp 2007-09-06 Paolo Carlini <pcarlini@suse.de> PR c++/32674 * decl.c (cp_finish_decl): When processing_template_decl, deal correctly with init as TREE_LIST. /testsuite 2007-09-06 Paolo Carlini <pcarlini@suse.de> PR c++/32674 * g++.dg/template/static31.C: New. From-SVN: r128201
2007-09-06mips.c: Include diagnostic.h.Sandra Loosemore2-1/+13
2007-09-06 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/mips/mips.c: Include diagnostic.h. (mips_set_current_function): Check errorcount and sorrycount before generating RTL. From-SVN: r128200
2007-09-06Revert:Janis Johnson2-1/+9
2007-09-06 Eric Botcazou <ebotcazou@adacore.com> * trans.c (convert_with_check): Update call to real_2expN. From-SVN: r128199
2007-09-06re PR fortran/33271 (nint_2.f90 abort compiled with -O0)Francois-Xavier Coudert2-1/+7
PR fortran/33271 * gfortran.dg/nint_2.f90: xfail on powerpc-ibm-aix* and powerpc*-linux-gnu. From-SVN: r128196
2007-09-06re PR target/33256 (internal compiler error: in print_operand_reloc, at ↵Richard Sandiford5-4/+66
config/mips/mips.c:5579) gcc/ PR target/33256 * config/mips/mips.c (mips_classify_symbolic_expression): New function. (mips_classify_address): Use it instead of mips_symbolic_constant_p. (print_operand_reloc): Likewise. gcc/testsuite/ 200x-xx-xx David Daney <ddaney@avtrex.com> Richard Sandiford <richard@codesourcery.com> PR target/33256 * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_le. (dg-mips-options): Skip -EB and -meb tests when $mips_forced_le. * gcc.target/mips/pr33256.c: New test. From-SVN: r128195
2007-09-06Add function name to last changelog entry:Matthias Klose1-1/+2
* boehm.c (mark_reference_fields): Don't use bitmap as gc_descr if pointer is misaligned. From-SVN: r128194
2007-09-06Revert:Janis Johnson9-182/+60
2007-09-06 Jan Hubicka <jh@suse.cz> * i386.c (ix86_expand_lround, ix86_expand_round): Update call of real_2expN. 2007-09-06 Richard Sandiford <richard@codesourcery.com> * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) (fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN. 2007-09-05 Janis Johnson <janis187@us.ibm.com> * optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy; add mode argument to real_2expN. (expand_fix): Fix comment typos; extend binary float into mode wider than destination for converion to unsigned integer; add mode argument to real_2expN. * real.c (real_2expN): Add mode argument to special-case decimal float values. * real.h (real_2expN): Ditto. * fixed-value.c (check_real_for_fixed_mode): Add mode argument to real_2expN. (fixed_from_string): Ditto. (fixed_to_decimal): Ditto. (fixed_convert_from_real): Ditto. (real_convert_from_fixed): Ditto. * config/rs6000/rs6000.md (FP): Include DD and TD modes. * config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1, floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New. From-SVN: r128193
2007-09-06boehm.c: Don't use bitmap as gc_descr if pointer is misaligned.Roman Zippel2-0/+12
gcc/java/ 2007-09-06 Roman Zippel <zippel@linux-m68k.org> * boehm.c: Don't use bitmap as gc_descr if pointer is misaligned. libjava/ 2007-09-06 Roman Zippel <zippel@linux-m68k.org> * sysdep/m68k/locks.h: New file. * configure.host: Set sysdeps_dir and libgcj_interpreter for m68k. * configure.ac: Set SIGNAL_HANDLER for m68*-*-linux*. * configure: Regenerate. From-SVN: r128191
2007-09-06tree-cfg.c (remove_bb): Only warn if line is non-zero.Tom Tromey28-108/+231
gcc: * tree-cfg.c (remove_bb): Only warn if line is non-zero. * c-pch.c (c_common_read_pch): Restore current location after reading PCH file. * tree.c (expand_location): Update. (expr_filename): Changed return type. Unified the two cases. (expr_lineno): Likewise. (annotate_with_file_line): Don't use EXPR_LINENO and EXPR_FILENAME as lvalues. * toplev.c (line_table): Changed type. (general_init): Update. (realloc_for_line_map): New function. (general_init): Allocate line_table using GC. * fix-header.c (line_table): Changed type. (read_scan_file): Update. (read_scan_file): Update. * c-ppoutput.c (maybe_print_line): Update. (print_line): Update. (cb_line_change): Update. (cb_define): Update. (pp_file_change): Update. * c-opts.c (c_common_init_options): Update. (finish_options): Update. (push_command_line_include): Update. * c-lex.c (cb_line_change): Update. (cb_def_pragma): Update. (cb_define): Update. (cb_undef): Update. (c_lex_with_flags): Use cpp_get_token_with_location. * input.h (line_table): Changed type. (location_from_locus): New macro. * tree.h (EXPR_FILENAME): No longer an lvalue. (EXPR_LINENO): Likewise. (expr_locus, set_expr_locus): Declare separately for USE_MAPPED_LOCATION. (expr_filename, expr_lineno): Changed return type. * gimplify.c (tree_to_gimple_tuple): Use SET_EXPR_LOCUS. * cfgexpand.c (expand_gimple_cond_expr): Use location_from_locus. (expand_gimple_basic_block): Likewise. * final.c (final_scan_insn): Use expanded_location. gcc/cp: * decl.c (finish_function): Put return's location on line zero of file. gcc/fortran: * scanner.c (get_file): Update. (load_file): Update. (gfc_next_char_literal): Use gfc_linebuf_linenum. * f95-lang.c (gfc_init): Update. * gfortran.h (gfc_linebuf_linenum): New macro. gcc/java: * lang.c (java_post_options): Update. * jcf-parse.c (set_source_filename): Update. (give_name_to_class): Update. (jcf_parse): Update. (duplicate_class_warning): Update. (parse_class_file): Update. (java_parse_file): Update. * expr.c (expand_byte_code): Update. gcc/testsuite: * lib/g++.exp (g++_target_compile): Use -fno-show-column. gcc/treelang: * tree1.c (treelang_init): Update. (treelang_parse_file): Update. (treelang_parse_file): Update. (treelang_parse_file): Update. * lex.l: Update. (update_lineno_charno): Likewise. libcpp: * internal.h (struct cpp_reader) <invocation_location>: New field. (struct cpp_reader) <set_invocation_location>: Likewise. * init.c (cpp_set_line_map): New function. * line-map.c (linemap_add): Use linemap's allocator. * include/line-map.h (GTY): Define. (line_map_realloc): New typedef. (struct line_map): Mark with GTY. (struct line_maps): Likewise. (struct line_maps) <maps>: Likewise. (struct line_maps) <reallocator>: New field. * include/symtab.h (GTY): Conditionally define. * include/cpplib.h (cpp_set_line_map): Declare. (cpp_get_token_with_location): Declare. * macro.c (cpp_get_token): Set invocation_location on the reader. (cpp_get_token_with_location): New function. From-SVN: r128190
2007-09-06re PR tree-optimization/32586 (New VN misses FRE opportunities)Richard Guenther10-28/+90
2007-09-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/32586 * tree-ssa-sccvn.c (simplify_binary_expression): Avoid folding if nothing changed. (simplify_unary_expression): New function. Do tree combining on conversion like codes. (try_to_simplify): Call it. * builtins.c (fold_builtin_cexp): Fold the built expressions. * fold-const.c (fold_unary): Test result of get_callee_fndecl(). * g++.dg/tree-ssa/pr27090.C: Remove XFAILs. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for now obsolete simplification. From-SVN: r128189
2007-09-06re PR middle-end/33318 (fortran/expr.c:305: internal compiler error: ↵Jan Hubicka2-1/+7
internal consistency failure) PR target/33318 * cse.c (fold_rtx): Avoid invalid sharing. From-SVN: r128187
2007-09-06gcc/Richard Sandiford2-4/+9
* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) (fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN. From-SVN: r128186
2007-09-06trans.c (convert_with_check): Update call to real_2expN.Eric Botcazou2-1/+5
* trans.c (convert_with_check): Update call to real_2expN. From-SVN: r128185
2007-09-06Fix offsettable memory reference for 750CLRevital Eres2-0/+10
From-SVN: r128184
2007-09-06reload.c (find_reloads_address_1): Try to preserve original base/index ↵Pat Haugen3-28/+33
regclass of operands. ChangeLog: 2007-09-06 Pat Haugen <pthaugen@us.ibm.com> * reload.c (find_reloads_address_1): Try to preserve original base/index regclass of operands. * regrename.c (scan_rtx_address): Likewise. (replace_oldest_value_addr): Likewise. From-SVN: r128183
2007-09-06sse3-addsubpd.c: Add -mfpmath=sse to dg-options.Uros Bizjak11-10/+23
* gcc.target/i386/sse3-addsubpd.c: Add -mfpmath=sse to dg-options. * gcc.target/i386/sse3-addsubps.c: Ditto. * gcc.target/i386/sse3-haddpd.c: Ditto. * gcc.target/i386/sse3-haddps.c: Ditto. * gcc.target/i386/sse3-hsubpd.c: Ditto. * gcc.target/i386/sse3-hsubps.c: Ditto. * gcc.target/i386/sse3-lddqu.c: Ditto. * gcc.target/i386/sse3-movddup.c: Ditto. * gcc.target/i386/sse3-movshdup.c: Ditto. * gcc.target/i386/sse3-movsldup.c: Ditto. From-SVN: r128181
2007-09-06re PR tree-optimization/33302 (dead-store not eliminated)Richard Guenther4-1/+35
2007-09-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/33302 * tree-ssa-dse.c (tree_ssa_dse): Connect infinite loops to the exit block before doing the post-dominator walk. * domwalk.c (walk_dominator_tree): The exit block is interesting even if it is not reachable. * gcc.dg/tree-ssa/ssa-dse-11.c: New testcase. From-SVN: r128180
2007-09-06re PR bootstrap/33306 (Bootstrap failure on alpha: ICE in convert_move, at ↵Richard Sandiford2-1/+7
expr.c:369) gcc/ PR middle-end/33306 * optabs.c (avoid_expensive_constant): Do nothing if MODE is VOIDmode. From-SVN: r128179
2007-09-06reverted configure to rev 128176 - it has been mistakingly commitedBasile Starynkevitch1-5669/+5259
From-SVN: r128178
2007-09-06typoBasile Starynkevitch2-5260/+5670
From-SVN: r128177
2007-09-06cfg.c (dump_bb_info, dump_edge_info): Added cfun test for Basile Starynkevitch2-5/+12
robustness. From-SVN: r128176
2007-09-06tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int when printing.Ian Lance Taylor5-9/+18
* tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int when printing. (dump_generic_node): Likewise. * print-rtl.c (print_decl_name): Likewise. * print-tree.c (print_node_brief): Likewise. (print_node): Likewise. * Makefile.in (RTL_BASE_H): Add alias.h. (TREE_H): Likewise. From-SVN: r128175
2007-09-05re PR c++/15745 (exception specification incorrectly changes the type of the ↵Jason Merrill4-1/+26
exception thrown) PR c++/15745 * except.c (prepare_eh_type): Use type_decays_to. From-SVN: r128174
2007-09-06re PR libfortran/33225 (Missing last digit in some formatted output (on ↵Jerry DeLisle2-0/+48
32bit targets), per kind write_float) 2007-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33225 * gfortran.dg./fmt_float.f90: New test. From-SVN: r128173
2007-09-05re PR c++/15097 (code generator problem with ::delete and multiple ↵Jason Merrill5-3/+75
inheritance and virtual deconstructs) PR c++/15097 * init.c (build_delete): Use build_headof to get the address of the complete object if we aren't using the deleting destructor. * rtti.c (build_headof): No longer static. * cp-tree.h: Declare it. From-SVN: r128172
2007-09-06re PR libfortran/33253 (namelist: reading back a string with apostrophe)Jerry DeLisle2-4/+28
2007-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33253 * gfortran.dg/namelist_38.f90: Update test for DELIM= . From-SVN: r128171
2007-09-06builtin_ctz_v3.c: New testcase.Jesper Nilsson3-0/+29
* gcc.target/cris/builtin_ctz_v3.c: New testcase. * gcc.target/cris/builtin_ctz_v8.c: New testcase. From-SVN: r128168
2007-09-06Daily bump.GCC Administrator1-1/+1
From-SVN: r128167
2007-09-06cris: longlong.h (count_trailing_zeros): Defined.Jesper Nilsson4-1/+38
* longlong.h [__CRIS_arch_version >= 8] (count_trailing_zeros): Defined. * config/cris/cris.md (ctzsi2, cris_swap_bits): Implemented. * config/cris/cris.h (CTZ_DEFINED_VALUE_AT_ZERO): Defined. From-SVN: r128165
2007-09-06config.gcc (tm_file): Add linux.h for bfin*-uclinux*.Jie Zhang5-68/+23
* config.gcc (tm_file): Add linux.h for bfin*-uclinux*. (tm_defines): Define UCLIBC_DEFAULT to 1. (extra_options): Add linux.opt. * config/bfin/linux.h (CPLUSPLUS_CPP_SPEC): Don't define. (CRT_CALL_STATIC_FUNCTION): Likewise. (NO_IMPLICIT_EXTERN_C): Likewise. (TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS. * config/bfin/elf.h (OBJECT_FORMAT_ELF): Don't define. * config/bfin/uclinux.h (CPLUSPLUS_CPP_SPEC): Don't define. (ENDFILE_SPEC): Don't define. (LIB_SPEC): Likewise. (CRT_CALL_STATIC_FUNCTION): Likewise. (NO_IMPLICIT_EXTERN_C): Likewise. (LINUX_TARGET_OS_CPP_BUILTINS): Likewise. (TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS. From-SVN: r128163
2007-09-06i386.c (ix86_expand_lround, [...]): Update call of real_2expN.Jan Hubicka2-2/+7
* i386.c (ix86_expand_lround, ix86_expand_round): Update call of real_2expN. From-SVN: r128162
2007-09-05opts.c (common_handle_option): Enable inlining functions for -fprofile-generate.Jan Hubicka2-0/+7
* opts.c (common_handle_option): Enable inlining functions for -fprofile-generate. From-SVN: r128161
2007-09-06re PR c++/33289 (__sprintf_chk etc. not DECL_ANTICIPATED)Jakub Jelinek4-0/+24
PR c++/33289 * decl.c (builtin_function_1): Set DECL_ANTICIPATED also on __*_chk non-__builtin_* decls. * g++.dg/eh/builtin4.C: New test. From-SVN: r128160
2007-09-06decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX decl if a ↵Jakub Jelinek6-0/+89
prototype for XX is provided with... * decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX decl if a prototype for XX is provided with throw(). * g++.dg/eh/builtin1.C: New test. * g++.dg/eh/builtin2.C: New test. * g++.dg/eh/builtin3.C: New test. From-SVN: r128159
2007-09-06builtin-attrs.def (ATTR_NONNULL_3): New.Jakub Jelinek3-24/+61
* builtin-attrs.def (ATTR_NONNULL_3): New. (DEF_FORMAT_ATTRIBUTE): Use just ATTR_NONNULL_##FA instead of ATTR_NOTHROW_NONNULL_##FA. (DEF_FORMAT_ATTRIBUTE_NOTHROW, DEF_FORMAT_ATTRIBUTE_BOTH): New macros. (ATTR_FORMAT_PRINTF_NOTHROW_2_0, ATTR_PRINTF_NOTHROW_2_3, ATTR_FORMAT_PRINTF_NOTHROW_3_0, ATTR_FORMAT_PRINTF_NOTHROW_3_4, ATTR_FORMAT_PRINTF_NOTHROW_4_0, ATTR_PRINTF_NOTHROW_4_5, ATTR_FORMAT_PRINTF_NOTHROW_5_0, ATTR_FORMAT_PRINTF_NOTHROW_5_6, ATTR_FORMAT_SCANF_NOTHROW_2_0, ATTR_FORMAT_SCANF_NOTHROW_2_3, ATTR_FORMAT_STRFTIME_NOTHROW_3_0, ATTR_FORMAT_STRFMON_NOTHROW_3_4): New. (ATTR_FORMAT_PRINTF_4_0, ATTR_PRINTF_4_5, ATTR_FORMAT_PRINTF_5_0, ATTR_FORMAT_PRINTF_5_6, ATTR_FORMAT_STRFTIME_3_0, ATTR_FORMAT_NOTHROW_3_4): Remove. * builtins.def (snprintf, sprintf, sscanf, vsnprintf, vsprintf, vsscanf, strfmon, strftime, __snprintf_chk, __sprintf_chk, __vsnprintf_chk, __vsprintf_chk): Use ATTR_FORMAT_*_NOTHROW_* instead of ATTR_FORMAT_*_*. From-SVN: r128158
2007-09-05cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for ↵Hans-Peter Nilsson2-3/+9
REG_FRAME_RELATED_EXPR. * config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for REG_FRAME_RELATED_EXPR. From-SVN: r128157
2007-09-05optabs.c (expand_float): Convert unsigned integer as signed only if it ↵Janis Johnson10-19/+268
provides sufficient accuracy... gcc/ * optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy; add mode argument to real_2expN. (expand_fix): Fix comment typos; extend binary float into mode wider than destination for converion to unsigned integer; add mode argument to real_2expN. * real.c (real_2expN): Add mode argument to special-case decimal float values. * real.h (real_2expN): Ditto. * fixed-value.c (check_real_for_fixed_mode): Add mode argument to real_2expN. (fixed_from_string): Ditto. (fixed_to_decimal): Ditto. (fixed_convert_from_real): Ditto. (real_convert_from_fixed): Ditto. * config/rs6000/rs6000.md (FP): Include DD and TD modes. * config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1, floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New. gcc/testsuite/ * gcc.target/powerpc/dfp-dd.c: New test. * gcc.target/powerpc/dfp-td.c: New test. From-SVN: r128156
2007-09-05init-regs.c (initialize_uninitialized_regs): Call emit_insn_before rather ↵Ian Lance Taylor2-1/+6
than add_insn_before. * init-regs.c (initialize_uninitialized_regs): Call emit_insn_before rather than add_insn_before. From-SVN: r128152
2007-09-05Move ChangeLog entry to correct ChangeLog file.Jakub Jelinek2-3/+5
From-SVN: r128151
2007-09-05builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.Jakub Jelinek13-56/+457
* builtins.def (BUILT_IN_VA_ARG_PACK): New built-in. * tree.h (CALL_EXPR_VA_ARG_PACK): Define. * tree-inline.h (copy_body_data): Add call_expr field. * tree-inline.c (expand_call_inline): Initialize call_expr. (copy_bb): Append anonymous inline fn arguments to arguments when inlining a CALL_EXPR_VA_ARG_PACK call. * builtins.c (expand_builtin): Issue an error if BUILT_IN_VA_ARG_PACK is seen during expand. (fold_call_expr, fold_builtin_call_array): Don't fold CALL_EXPR_VA_ARG_PACK CALL_EXPRs or calls with __builtin_va_arg_pack () call as last argument. * gimplify.c (gimplify_call_expr): If last argument to a vararg function is __builtin_va_arg_pack (), decrease number of call arguments and instead set CALL_EXPR_VA_ARG_PACK on the CALL_EXPR. * expr.c (expand_expr_real_1): Issue an error if CALL_EXPR_VA_ARG_PACK CALL_EXPR is seen during expand. * tree-pretty-print.c (dump_generic_node): Handle printing CALL_EXPR_VA_ARG_PACK bit on CALL_EXPRs. * doc/extend.texi (__builtin_va_arg_pack): Document. * gcc.c-torture/execute/va-arg-pack-1.c: New test. * gcc.dg/va-arg-pack-1.c: New test. From-SVN: r128150