1. 15 Jun, 2008 5 commits
    • loongson2ef.md: New file. · 58684fa0
      	* config/mips/loongson2ef.md: New file.
      	* config/mips/mips.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): New constants.
      	(define_attr "cpu"): Rename loongson2e and loongson2f to loongson_2e
      	and loongson_2f.
      	(loongson2ef.md): New include.
      	* config/mips/loongson.md (vec_pack_ssat_<mode>, vec_pack_usat_<mode>)
      	(add<mode>3, paddd, ssadd<mode>3, usadd<mode>3)
      	(loongson_and_not_<mode>, loongson_average_<mode>, loongson_eq_<mode>)
      	(loongson_gt_<mode>, loongson_extract_halfword)
      	(loongson_insert_halfword_0, loongson_insert_halfword_2)
      	(loongson_insert_halfword_3, loongson_mult_add, smax<mode>3)
      	(umax<mode>3, smin<mode>3, umin<mode>3, loongson_move_byte_mask)
      	(umul<mode>3_highpart, smul<mode>3_highpart, loongson_smul_lowpart)
      	(loongson_umul_word, loongson_pasubub, reduc_uplus_<mode>)
      	(loongson_psadbh, loongson_pshufh, loongson_psll<mode>)
      	(loongson_psra<mode>, loongson_psrl<mode>, sub<mode>3, psubd)
      	(sssub<mode>3, ussub<mode>3, vec_interleave_high<mode>)
      	(vec_interleave_low<mode>): Define type attribute.
      	* config/mips/mips.c (mips_ls2): New static variable.
      	(mips_issue_rate): Update to handle tuning for Loongson 2E/2F.
      	(mips_ls2_init_dfa_post_cycle_insn, mips_init_dfa_post_cycle_insn)
      	(sched_ls2_dfa_post_advance_cycle, mips_dfa_post_advance_cycle):
      	Implement target scheduling hooks.
      	(mips_multipass_dfa_lookahead): Update to handle tuning for
      	Loongson 2E/2F.
      	(mips_sched_init): Initialize data for Loongson scheduling.
      	(mips_ls2_variable_issue): New static function.
      	(mips_variable_issue): Update to handle tuning for Loongson 2E/2F.
      	Add sanity check.
      	(TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN)
      	(TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Override target hooks.
      	* config/mips/mips.h (TUNE_LOONGSON_2EF): New macros.
      	(ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS):
      	Handle ST Loongson 2E/2F cores.
      	(CPU_UNITS_QUERY): Define macro to enable querying of DFA units.
      
      From-SVN: r136805
      Maxim Kuvyrkov committed
    • omp-low.c (extract_omp_for_data): Fix comment typo. · 1cbc62c0
      gcc/
      	* omp-low.c (extract_omp_for_data): Fix comment typo.
      	* c.opt: Fix typo.
      
      gcc/cp/
      	* parser.c: Fix comment typo.
      
      From-SVN: r136804
      Ralf Wildenhues committed
    • libgomp.texi (omp_test_lock): Fix typo. · 6ccde948
      libgomp/
      	* libgomp.texi (omp_test_lock): Fix typo.
      
      gcc/
      	* doc/sourcebuild.texi (Config Fragments): Remove obsolete
      	FIXME note about gcc/config.guess.
      	* doc/options.texi (Option file format): Remove non-ASCII bytes.
      	* doc/cpp.texi: Expand TABs, drop indentation outside examples.
      	* doc/cppopts.texi: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/gcc.texi: Likewise.
      	* doc/gccint.texi: Likewise.
      	* doc/gcov.texi: Likewise.
      	* doc/gty.texi: Likewise.
      	* doc/hostconfig.texi: Likewise.
      	* doc/install.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/loop.texi: Likewise.
      	* doc/makefile.texi: Likewise.
      	* doc/md.texi: Likewise.
      	* doc/passes.texi: Likewise.
      	* doc/tm.texi: Likewise.
      	* doc/tree-ssa.texi: Likewise.
      	* doc/trouble.texi: Likewise.
      
      libiberty/
      	* libiberty.texi: Expand TABs, drop indentation outside examples.
      	* obstacks.texi: Likewise.
      
      gcc/fortran/
      	* gfc-internals.texi: Expand TABs, drop indentation outside examples.
      	* gfortran.texi: Likewise.
      	* intrinsic.texi: Likewise.
      	* invoke.texi: Likewise.
      
      gcc/java/
      	* gcj.texi: Expand TABs, remove whitespace from blank lines.
      
      gcc/ada/
      	* gnat_rm.texi (Implementation Defined Characteristics)
      	(Standard Library Routines): Use @smallexample for indented
      	text.  Drop Indentation outside examples.
      	* gnat_ugn.texi: Likewise.
      
      From-SVN: r136802
      Ralf Wildenhues committed
    • mips-modes.def: Add V8QI, V4HI and V2SI modes. · 93581857
      2008-06-15  Mark Shinwell  <shinwell@codesourcery.com>
      	    Nathan Sidwell  <nathan@codesourcery.com>
      	    Maxim Kuvyrkov  <maxim@codesourcery.com>
      	    Richard Sandiford  <rdsandiford@googlemail.com>
      	
      	* config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes.
      	* config/mips/mips-protos.h (mips_expand_vector_init): New.
      	* config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F
      	builtins.
      	* config/mips/mips.c (mips_split_doubleword_move): Handle new modes.
      	(mips_hard_regno_mode_ok_p): Allow 64-bit vector modes for Loongson.
      	(mips_vector_mode_supported_p): Add V2SImode, V4HImode and
      	V8QImode cases.
      	(LOONGSON_BUILTIN, LOONGSON_BUILTIN_ALIAS): New.
      	(CODE_FOR_loongson_packsswh, CODE_FOR_loongson_packsshb,
      	(CODE_FOR_loongson_packushb, CODE_FOR_loongson_paddw,
      	(CODE_FOR_loongson_paddh, CODE_FOR_loongson_paddb,
      	(CODE_FOR_loongson_paddsh, CODE_FOR_loongson_paddsb)
      	(CODE_FOR_loongson_paddush, CODE_FOR_loongson_paddusb)
      	(CODE_FOR_loongson_pmaxsh, CODE_FOR_loongson_pmaxub)
      	(CODE_FOR_loongson_pminsh, CODE_FOR_loongson_pminub)
      	(CODE_FOR_loongson_pmulhuh, CODE_FOR_loongson_pmulhh)
      	(CODE_FOR_loongson_biadd, CODE_FOR_loongson_psubw)
      	(CODE_FOR_loongson_psubh, CODE_FOR_loongson_psubb)
      	(CODE_FOR_loongson_psubsh, CODE_FOR_loongson_psubsb)
      	(CODE_FOR_loongson_psubush, CODE_FOR_loongson_psubusb)
      	(CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw)
      	(CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh)
      	(CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): New.
      	(mips_builtins): Add Loongson builtins.
      	(mips_loongson_2ef_bdesc): New.
      	(mips_bdesc_arrays): Add mips_loongson_2ef_bdesc.
      	(mips_builtin_vector_type): Handle unsigned versions of vector modes.
      	(MIPS_ATYPE_UQI, MIPS_ATYPE_UDI, MIPS_ATYPE_V2SI, MIPS_ATYPE_UV2SI)
      	(MIPS_ATYPE_V4HI, MIPS_ATYPE_UV4HI, MIPS_ATYPE_V8QI, MIPS_ATYPE_UV8QI):
      	New.
      	(mips_expand_vector_init): New.
      	* config/mips/mips.h (HAVE_LOONGSON_VECTOR_MODES): New.
      	(TARGET_CPU_CPP_BUILTINS): Define __mips_loongson_vector_rev
      	if appropriate.
      	* config/mips/mips.md: Add unspec numbers for Loongson
      	builtins.  Include loongson.md.
      	(MOVE64): Include Loongson vector modes.
      	(SPLITF): Include Loongson vector modes.
      	(HALFMODE): Handle Loongson vector modes.
      	* config/mips/loongson.md: New.
      	* config/mips/loongson.h: New.
      	* config.gcc: Add loongson.h header for mips*-*-* targets.
      	* doc/extend.texi (MIPS Loongson Built-in Functions): New.
      
      2008-06-15  Mark Shinwell  <shinwell@codesourcery.com>
      
      	* lib/target-supports.exp (check_effective_target_mips_loongson): New.
      	* gcc.target/mips/loongson-simd.c: New.
      
      Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
      Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
      Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
      
      From-SVN: r136800
      Mark Shinwell committed
    • Daily bump. · 2454e4f6
      From-SVN: r136798
      GCC Administrator committed
  2. 14 Jun, 2008 9 commits
  3. 13 Jun, 2008 17 commits
    • decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0 if undefined. · d8612af2
      2008-06-13  Olivier Hainque  <hainque@adacore.com>
      
      	ada/
      	* decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
      	if undefined.
      	(gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
      	realignment with force_align_arg_pointer attribute on foreign
      	convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
      
      	testsuite/
      	* gnat.dg/task_stack_align.adb: New test.
      
      From-SVN: r136768
      Olivier Hainque committed
    • Add missing entry. · 7f7e76a4
      From-SVN: r136767
      Jerry DeLisle committed
    • re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8") · c0d81bd8
      2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/35863
      	* gfortran.dg/widechar_IO_1.f90: New test.
      	* gfortran.dg/widechar_IO_2.f90: New test.
      	* gfortran.dg/widechar_IO_3.f90: New test.
      	* gfortran.dg/widechar_IO_4.f90: New test.
      
      From-SVN: r136766
      Jerry DeLisle committed
    • re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8") · 8a221914
      2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/35863
      	* trans-io.c (gfc_build_io_library_fndecls): Build declaration for
      	transfer_character_wide which includes passing in the character kind to
      	support wide character IO. (transfer_expr): If the kind == 4, create the
      	argument and build the call.
      	* gfortran.texi: Fix typo.
      
      From-SVN: r136764
      Jerry DeLisle committed
    • re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8") · cea93abb
      2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/35863
      	* libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
      	* runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
      	big_endian. (determine_endianness): Add endian_off and set its value
      	according to big_endian.
      	* gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
      	* io/io.h: Add prototype declarations for new functions.
      	* io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
      	(list_formatted_read): Calculate stride based on kind for character type
      	and use it when calling list_formatted_read_scalar.
      	* io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
      	* io/open.c (st_open): Change l8_to_l4_offset to big_endian.
      	* io/read.c (read_a_char4): New function to handle formatted read.
      	* io/write.c: Define GFC_CHAR4(x) to improve readability of code.
      	(write_a_char4): New function to handle formatted write.
      	(write_character): Modify to accept the kind parameter and adjust for
      	endianess of the machine. (list_formatted_write): Calculate the stride
      	resulting from the kind and adjust the list_formatted_write_scalar call
      	accordingly. (nml_write_obj): Adjust calls to write_character.
      	(namelist_write): Likewise.
      	* io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
      	'kind' argument to better describe what it is. Add calls to new
      	functions for kind == 4. (formatted_transfer): Modify to handle the case
      	of type character and kind equals 4 to pass in the kind to the transfer
      	routines. (transfer_character_wide): Add this new function.
      	(transfer_array): Don't set kind to the character string length. Adjust
      	strides bases on character kind.
      	(unformatted_read): Adjust size based on kind for character types.
      	(unformatted_write): Likewise. (data_transfer_init): Change
      	l8_to_l4_offset to big_endian.
      
      From-SVN: r136763
      Jerry DeLisle committed
    • configure.ac (AM_CFLAGS): Remove -Werror again. · c5f4d1cc
      2008-06-13  Tobias Burnus  <burnus@net-b.de>
      
             * configure.ac (AM_CFLAGS): Remove -Werror again.
             * configure: Regenerate.
      
      From-SVN: r136762
      Tobias Burnus committed
    • re PR fortran/36518 (libgfortran: "warning: format '%d' expects type 'int', but") · 60dcf38a
      2008-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR libgfortran/36518
              * configure.ac (AM_CFLAGS): Add -Werror.
              * configure: Regenerate.
              * m4/ifunction_logical.m4: Cast "n" to "(int)".
              * generated/any_l16.c: Regenerate.
              * generated/any_l2.c: Regenerate.
              * generated/all_l1.c: Regenerate.
              * generated/all_l2.c: Regenerate.
              * generated/all_l16.c: Regenerate.
              * generated/any_l4.c: Regenerate.
              * generated/count_4_l.c: Regenerate.
              * generated/count_8_l.c: Regenerate.
              * generated/all_l4.c: Regenerate.
              * generated/count_1_l.c: Regenerate.
              * generated/count_16_l.c: Regenerate.
              * generated/any_l8.c: Regenerate.
              * generated/count_2_l.c: Regenerate.
              * generated/any_l1.c: Regenerate.
              * generated/all_l8.c: Regenerate.
      
      From-SVN: r136761
      Tobias Burnus committed
    • re PR fortran/36476 (ICE: len=* CHARACTER array with separate PARAMETER statement) · 357ad64f
      2008-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/36476
              * decl.c (do_parm): Handle init expression for len=*.
      
      2008-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/36476
              * gfortran.dg/parameter_array_init_4.f90: New.
      
      From-SVN: r136754
      Tobias Burnus committed
    • stl_deque.h (deque<>::push_back(_Args&&...), [...]): Remove. · 4dc3e453
      2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/stl_deque.h (deque<>::push_back(_Args&&...),
      	deque<>::push_front(_Args&&...)): Remove.
      	(deque<>::push_back(value_type&&),
      	deque<>::push_front(value_type&&)): Add.
      	(deque<>::push_back(const value_type&),
      	deque<>::push_front(const value_type&)): Add back.
      	(deque<>::emplace_back(_Args&&...),
      	deque<>::emplace_front(_Args&&...)): Declare...
      	* include/bits/deque.tcc: ... and define.	
      	* include/bits/stl_list.h (list<>::push_back(_Args&&...),
      	list<>::push_front(_Args&&...)): Remove.
      	(list<>::push_back(value_type&&), list<>::push_front(value_type&&),
      	list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
      	Add.
      	(list<>::push_back(const value_type&),
      	list<>::push_front(const value_type&)): Add back.
      	* include/bits/stl_vector.h (vector<>::push_back(_Args&&...)): Remove.
      	(vector<>::push_back(value_type&&)): Add.
      	(vector<>::push_back(const value_type&)): Add back.
      	(vector<>::emplace_back(_Args&&...)): Declare...
      	* include/bits/vector.tcc: ... and define.
      	* include/bits/stl_queue.h (queue<>::push(_Args&&...),
      	priority_queue<>::push(_Args&&...)): Remove.
      	(queue<>::push(value_type&&), queue<>::emplace(_Args&&...),
      	priority_queue<>::push(value_type&&),
      	priority_queue<>::emplace(_Args&&...)): Add.
      	(queue<>::push(const value_type&),
      	priority_queue<>::push(const value_type&)): Add back.
      	* include/bits/stl_stack.h (stack<>::push(_Args&&...)): Remove.
      	(stack<>::push(value_type&&), stack<>::emplace(_Args&&...)): Add.
      	(stack<>::push(const value_type&)): Add back.
      	* include/debug/deque (deque<>::push_back(_Args&&...),
      	deque<>::push_front(_Args&&...)): Remove.
      	(deque<>::push_back(value_type&&), deque<>::push_front(value_type&&),
      	deque<>::emplace_back(_Args&&...), deque<>::emplace_front(_Args&&...)):
      	Add.
      	(deque<>::push_back(const value_type&),
      	deque<>::push_front(const value_type&)): Add back.
      	* include/debug/list (list<>::push_back(_Args&&...),
      	list<>::push_front(_Args&&...)): Remove.
      	(list<>::push_back(value_type&&), list<>::push_front(value_type&&),
      	list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
      	Add.
      	(list<>::push_back(const value_type&),
      	list<>::push_front(const value_type&)): Add back.
      	* include/debug/vector (vector<>::push_back(_Args&&...)): Remove.
      	(vector<>::push_back(value_type&&),
      	vector<>::emplace_back(_Args&&...)): Add.
      	(vector<>::push_back(const value_type&)): Add back.
      	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
      	Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      
      From-SVN: r136750
      Paolo Carlini committed
    • utils.c (rest_of_record_type_compilation): When computing encodings for the… · ca789c7f
      utils.c (rest_of_record_type_compilation): When computing encodings for the components of a variable size type...
      
      2008-06-13  Olivier Hainque  <hainque@adacore.com>
      
              * utils.c (rest_of_record_type_compilation): When computing
              encodings for the components of a variable size type, early
              strip conversions on the current position expression to make
              sure it's shape is visible.  Use remove_conversions for this
              purpose.
      
      From-SVN: r136748
      Olivier Hainque committed
    • re PR middle-end/36520 (ICE in get_memory_rtx) · 9133c85e
      	PR middle-end/36520
      	* builtins.c (get_memory_rtx): Test for the presence of DECL_SIZE_UNIT
      	before evaluating it.
      
      From-SVN: r136747
      Eric Botcazou committed
    • re PR c/36507 (ISO C99 inline semantics doesn't play together with nested functions) · 6cf59865
      	PR c/36507
      	* c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for
      	nested inline functions.
      	(start_decl, start_function): Don't invert DECL_EXTERNAL
      	for nested inline functions.
      
      	* gcc.dg/inline-28.c: New test.
      	* gcc.dg/inline-29.c: New test.
      	* gcc.dg/inline-30.c: New test.
      
      From-SVN: r136745
      Jakub Jelinek committed
    • array (array<>::assign): Do not define in C++0x mode, per DR 776... · 6a4533e5
      2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/tr1_impl/array (array<>::assign): Do not define in
      	C++0x mode, per DR 776...
      	(array<>::fill): ... define instead.
      	* doc/xml/manual/intro.xml: Add an entry for DR 776.
      	* testsuite/23_containers/array/requirements/fill.cc: New.
      
      From-SVN: r136741
      Paolo Carlini committed
    • re PR fortran/36495 (libgfortran should be build with FCFLAGS -fimplicit-none) · c3e9b6ab
      2008-06-13  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/36495
             * configure: Add "-Werror -fimplicit-none" to the AM_FCFLAGS.
             * configure.ac: Ditto.
             * intrinsics/dprod_r8.f90: Add "implicit none".
      
      From-SVN: r136740
      Tobias Burnus committed
    • mips.md: Remove TARGET_DEBUG_D_MODE conditions from splits that must be made for correctness. · a9a53350
      gcc/
      	* config/mips/mips.md: Remove TARGET_DEBUG_D_MODE conditions from
      	splits that must be made for correctness.
      
      From-SVN: r136739
      Richard Sandiford committed
    • mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro. · fd0eb897
      gcc/
      	* config/mips/mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
      	(AVAIL_NON_MIPS16): Likewise.
      	(mips_builtin_description): Replace target_flags with a predicate.
      	(paired_single, sb1_paired_single, mips3d, dsp, dspr2, dsp_32)
      	(dspr2_32): New availability predicates.
      	(MIPS_BUILTIN): New macro.
      	(DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS)
      	(CMP_4S_BUILTINS, MOVTF_BUILTINS, CMP_BUILTINS)
      	(DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): Use it.
      	Replace the TARGET_FLAGS parameters with AVAIL parameters.
      	(mips_ps_bdesc, mips_sb1_bdesc, mips_dsp_bdesc)
      	(mips_dsp_32only_bdesc): Merge into...
      	(mips_builtins): ...this new array.
      	(mips_bdesc_map, mips_bdesc_arrays): Delete.
      	(mips_init_builtins): Update after above changes.
      	(mips_expand_builtin_1): Merge into...
      	(mips_expand_builtin): ...here and update after above changes.
      
      From-SVN: r136738
      Richard Sandiford committed
    • Daily bump. · ad90a34a
      From-SVN: r136729
      GCC Administrator committed
  4. 12 Jun, 2008 9 commits