Commit Graph

87989 Commits

Author SHA1 Message Date
Steven Bosscher 4a8cae8370 Remove libcall notes.
* see.c (see_analyse_one_def): Do not look for REG_LIBCALL and
	REG_RETVAL notes.
	(see_update_relevancy): Likewise.
	* fwprop.c (try_fwprop_subst): Likewise.
	* rtlanal.c (noop_move_p): Likewise.
	* builtins.c (expand_buitlin_mathfn): Don't try to add REG_EQUAL
	notes to non-existing libcall blocks.
	* cse.c (cse_insn): Change prototype.  Don't update libcall notes.
	Remove orig_set.
	(cse_extended_basic_block): Don't track libcall and no-conflict notes.
	(dead_libcall_p): Remove.
	(delete_trivially_dead_insns): Don't use it.
	* web.c (union_defs): Remove comment about keeping nops.
	* gcse.c (hash_scan_insn): Don't take libcall pointers.
	(compute_hash_table_work): Don't track libcall notes.
	(do_local_cprop): Don't take libcall pointers.  Don't update
	libcall notes.
	(adjust_libcall_notes): Deleted.
	(local_cprop_pass): Remove stack for nested libcalls (which shouldn't
	ever have existed in the first place).
	(replace_store_insn): Don't try to remove libcall notes.
	* lower-subreg.c (move_libcall_note, move_retval_note): Deleted.
	(resolve_reg_notes): Don't call them.
	(resolve_simple_move): Likewise.
	(decompose_multiword_subregs): Remove block handling REG_RETVAL notes.
	Don't remove REG_RETVAL notes.
	* emit-rtl.c (try_split): Don't update libcall notes.
	(emit_copy_of_insn_after): Dito.
	* cselib.c (cselib_current_insn_in_libcall): Remove.
	(cselib_process_insn): Don't set/clear it.
	(new_elt_loc_list): Don't record it.
	(cselib_init): Don't initialize it.
	* cselib.c (struct elt_loc_list): Remove in_libcall field.
	* loop-invariant.c (find_invariant_insn): Don't look for libcall
	notes.
	* sched-deps.c (sched_analyze_insn): Don't group libcall blocks.
	(sched_analyze): Don't set up deps->libcall_block_tail_insn.
	(init_deps): Don't initialize it.
	* sched-int.h (struct deps): Rremove libcall_block_tail_insn field.
	* combine.c (delete_noop_moves): Don't update libcall notes.
	(can_combine_p): Remove now pointless #if 0 block.
	(try_combine): Remove another obsolete #if 0 block.
	(distribute_notes): Don't distribute libcall notes.
	* reg-notes.def (REG_LIBCALL, REG_RETVAL): Remove.
	* dce.c (libcall_dead_p): Remove.
	(delete_unmarked_insns): Don't handle libcall blocks.
	(preserve_libcall_for_dce): Remove.
	(prescan_insns_for_dce): Don't special-case libcall block insns.
	* reload1 (reload): Don't handle libcall notes. 
	* doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
	documentation.

From-SVN: r136861
2008-06-17 05:57:04 +00:00
Jerry DeLisle e989f2d107 re PR libfortran/36546 (Namelist error with tab following a comma and newline)
2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36546
	* gfortran.dg: namelist_49.f90: New test.

From-SVN: r136860
2008-06-17 04:18:11 +00:00
Jerry DeLisle fb669c2b42 re PR libfortran/36546 (Namelist error with tab following a comma and newline)
2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36546
	* io/list_read.c (eat_separator): Add tab character to condition
	for looping past whitespace.

From-SVN: r136859
2008-06-17 04:14:07 +00:00
Jerry DeLisle 151d752224 re PR testsuite/36544 (fseek.f90 does not correctly account for newline lengths)
2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36544
	* gfortran.dg/fseek.f90: Adjust test conditions for variable newline.

From-SVN: r136856
2008-06-17 01:05:11 +00:00
GCC Administrator df3e8c80ae Daily bump.
From-SVN: r136854
2008-06-17 00:17:14 +00:00
Ralf Wildenhues ad33ff5785 configure.ac: Set TOPLEVEL_CONFIGURE_ARGUMENTS early...
* configure.ac: Set TOPLEVEL_CONFIGURE_ARGUMENTS early, when
	"$@" is still intact with both Autoconf 2.59 and 2.62.
	* configure: Regenerate.

From-SVN: r136849
2008-06-16 21:36:27 +00:00
Ralf Wildenhues cdce5c41ef Makefile.tpl: Fix comment errors.
* Makefile.tpl: Fix comment errors.
	* Makefile.in: Regenerate.

From-SVN: r136848
2008-06-16 21:30:41 +00:00
Eric B. Weddington ec346900d5 avr.c (avr_mcu_t): Add atmega32c1.
* gcc/config/avr/avr.c (avr_mcu_t): Add atmega32c1.
	* gcc/config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
	* gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise.

From-SVN: r136847
2008-06-16 22:53:17 +04:00
Eric B. Weddington 951a5379f2 avr.c (avr_mcu_t): Add atmega32m1.
* gcc/config/avr/avr.c (avr_mcu_t): Add atmega32m1.
	* gcc/config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
	* gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise.

From-SVN: r136846
2008-06-16 22:44:41 +04:00
Ralf Wildenhues 2d09b6406a Makefile.in (FLAGS_TO_PASS): Add $(datarootdir).
gcc/
	* Makefile.in (FLAGS_TO_PASS): Add $(datarootdir).

intl/
	* Makefile.in (datarootdir): New variable.

libcpp/
	* Makefile.in (datarootdir): New variable.

libdecnumber/
	* Makefile.in (datarootdir): New variable.

From-SVN: r136845
2008-06-16 17:58:14 +00:00
Ira Rosen 54269f054f re PR tree-optimization/36493 (vectorizer aliasing bug)
PR tree-optimization/36493
	* tree-vect-transform.c (vect_create_data_ref_ptr): Remove TYPE from
	the arguments list. Use VECTYPE to create vector pointer.
	(vectorizable_store): Fail if accesses through a pointer to vectype
	do not alias the original memory reference operands.
	Call vect_create_data_ref_ptr without the removed argument.
	(vectorizable_load): Likewise.
	(vect_setup_realignment): Call vect_create_data_ref_ptr without the
	removed argument.

From-SVN: r136843
2008-06-16 10:39:07 +00:00
Paolo Carlini 7364f2868c basic_string.h (stod, [...]): Declare in C++0x mode.
2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
	stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
	* src/string_conversions.cc: Add.
	* src/Makefile.am: Update.
	* config/abi/pre/gnu.ver: Adjust exports.
	* src/Makefile.in: Regenerate.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stod.cc: New.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stof.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoi.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stol.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stold.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoll.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoul.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	to_wstring.cc: Likewise.

From-SVN: r136841
2008-06-16 09:58:54 +00:00
GCC Administrator 1b4b3957d7 Daily bump.
From-SVN: r136834
2008-06-16 00:17:21 +00:00
John David Anglin 9c4e59e00c env.c (initialize_env): Always initialize gomp_remaining_threads_lock mutex when...
* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
	mutex when HAVE_SYNC_BUILTINS isn't defined.

From-SVN: r136827
2008-06-15 21:41:26 +00:00
Jerry DeLisle 76b33d8fc1 re PR fortran/36515 (Integer read from stdin yields a value overflow for a valid integer.)
2008-06-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36515
	* gfortran.dg/no_range_check_2.f90: New test.

From-SVN: r136823
2008-06-15 20:07:34 +00:00
Jerry DeLisle a9608b5743 re PR fortran/36515 (Integer read from stdin yields a value overflow for a valid integer.)
2008-06-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36515
	* libgfortran.h (compile_options_t): Add int range_check to structure.
	* runtime/compile_options.c (set_options): Add range_check option.
	(init_compile_options): Likewise.
	*io/read.c (read_decimal): Change overflow checks to include
	range_check.

From-SVN: r136822
2008-06-15 20:02:58 +00:00
Jerry DeLisle a60658ba41 re PR fortran/36515 (Integer read from stdin yields a value overflow for a valid integer.)
2008-06-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36515
	* trans-decl.c (gfc_generate_function_code): Add range_check to options
	array.

From-SVN: r136821
2008-06-15 20:00:41 +00:00
Andy Hutchinson f4df5771d9 re PR target/36336 (ICE push_reload - psuedo reg_equiv_constant)
PR target/36336
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for reg_equiv_constant.

From-SVN: r136818
2008-06-15 18:24:27 +00:00
Ralf Wildenhues 147fc44bcd Makefile.am: Remove trailing white space, fix typo.
libstdc++-v3/

	* include/Makefile.am: Remove trailing white space, fix typo.
	(parallel_headers): Remove duplicate file, sort entries.
	* include/Makefile.in: Regenerate.

From-SVN: r136810
2008-06-15 12:24:36 +00:00
Ralf Wildenhues f13df8faa9 condition_variable.cc (~condition_variable): Drop unused variable.
libstdc++-v3/

	* src/condition_variable.cc (~condition_variable): Drop unused
	variable.

From-SVN: r136809
2008-06-15 12:20:28 +00:00
Maxim Kuvyrkov 58684fa02e loongson2ef.md: New file.
* 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
2008-06-15 10:03:07 +00:00
Ralf Wildenhues 1cbc62c077 omp-low.c (extract_omp_for_data): Fix comment typo.
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
2008-06-15 09:55:56 +00:00
Ralf Wildenhues 6ccde948ad libgomp.texi (omp_test_lock): Fix typo.
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
2008-06-15 09:42:13 +00:00
Mark Shinwell 93581857e5 mips-modes.def: Add V8QI, V4HI and V2SI modes.
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
2008-06-15 06:29:06 +00:00
GCC Administrator 2454e4f698 Daily bump.
From-SVN: r136798
2008-06-15 00:17:08 +00:00
Tom Tromey 25e8b6ceb4 re PR java/36247 (Segfault with -findirect-dispatch and --jni)
PR java/36247:
	* class.c (build_class_ref): Initialize this_classdollar when

From-SVN: r136787
2008-06-14 19:49:45 +00:00
Joseph Myers 397fda8004 config.gcc (arc-*-elf*, [...]): Remove use_fixproto=yes.
* config.gcc (arc-*-elf*, avr-*-*, fr30-*-elf, frv-*-elf,
	h8300-*-elf*, h8300-*-*, i[34567]86-*-elf*, x86_64-*-elf*,
	i[34567]86-*-aout*, i[34567]86-*-coff*, ia64*-*-elf*,
	iq2000*-*-elf*, m32r-*-elf*, m32rle-*-elf*, m32r-*-linux*,
	m32rle-*-linux*, m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*,
	m68k-*-coff*, mcore-*-elf, mcore-*-pe*, mipsisa64sr71k-*-elf*,
	mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*, mips-*-elf* |
	mipsel-*-elf*, mips64-*-elf* | mips64el-*-elf*, mips64vr-*-elf* |
	mips64vrel-*-elf*, mips64orion-*-elf* | mips64orionel-*-elf*,
	mipstx39-*-elf* | mipstx39el-*-elf*, mn10300-*-*, pdp11-*-,
	powerpc-*-elf*, powerpcle-*-elf*, sh-*-elf* | sh[12346l]*-*-elf* |
	sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | sh-*-linux* |
	sh[2346lbe]*-*-linux* | sh-*-netbsdelf* | shl*-*-netbsdelf* |
	sh5-*-netbsd* | sh5l*-*-netbsd* | sh64-*-netbsd* |
	sh64l*-*-netbsd*, sh-*-*, sparc-*-elf*, sparc64-*-elf*,
	v850e1-*-*, v850e-*-*, v850-*-*, xstormy16-*-elf, m32c-*-elf*):
	Remove use_fixproto=yes.
	(ia64*-*-hpux*): Remove comment about using fixproto.
	(m68k-*-uclinuxoldabi*, m68k-*-uclinux*): Remove use_fixproto=no.

From-SVN: r136783
2008-06-14 18:48:18 +01:00
Kai Tietz b01bd5fe12 exception.c (PERSONALITY_FUNCTION): Remove extra decrement if HAVE_GETIPINFO is not defined.
2008-06-14  Kai Tietz  <kai.tietz@onevision.com>

	* exception.c (PERSONALITY_FUNCTION): Remove extra decrement
	if HAVE_GETIPINFO is not defined.

From-SVN: r136782
2008-06-14 12:58:22 +02:00
Ralf Wildenhues b15a9f6300 configure.ac: Update gthr-default.h lazily, to avoid unneeded library rebuilds.
gcc/
	* configure.ac: Update gthr-default.h lazily, to avoid unneeded
	library rebuilds.
	* configure: Regenerate.

From-SVN: r136780
2008-06-14 09:53:00 +00:00
Simon Martin a6d9bc9dda re PR c++/35320 (ICE with invalid friend declaration)
gcc/cp/

2008-06-14  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/35320
	* decl2.c (grokbitfield): Receive the list of attributes, pass it to
	grokdeclarator and apply it to the created declaration.
	* cp-tree.h (grokbitfield): Update prototype.
	* parser.c (cp_parser_member_declaration): Don't apply the attributes
	since they are now applied in grokbitfield. Adjusted the call to
	grokbitfield.
	(cp_parser_objc_class_ivars): Likewise.

gcc/testsuite/

2008-06-14  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/35320
	* g++.dg/parse/bitfield3.C: New test.

From-SVN: r136778
2008-06-14 05:21:30 +00:00
Jerry DeLisle 74bae98e59 re PR libfortran/36538 (namelist failure with tabs preceding object name)
2008-06-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36538
	* gfortran.dg: namelist_48.f90: New test.

From-SVN: r136777
2008-06-14 04:39:11 +00:00
Jerry DeLisle a82094b70d re PR libfortran/36538 (namelist failure with tabs preceding object name)
2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36538
	* io/list_read.c (namelist_read): Add eat_separator to eliminate leading
	tabs.

From-SVN: r136776
2008-06-14 04:30:48 +00:00
Simon Martin 4b8cb94c75 re PR c++/35317 (ICE with operator delete[] and ellipsis)
gcc/cp/

2008-06-14  Simon Martin  <simartin@users.sourceforge.net>

	    PR c++/35317
	    * class.c (type_requires_array_cookie): Do not consider delete[]
	    operators with an ellipsis as second argument.

gcc/testsuite/

2008-06-14  Simon Martin  <simartin@users.sourceforge.net>

	    PR c++/35317
	    * g++.dg/other/dtor2.C: New test.

From-SVN: r136774
2008-06-14 00:19:25 +00:00
GCC Administrator df2fa09712 Daily bump.
From-SVN: r136772
2008-06-14 00:17:39 +00:00
Olivier Hainque d8612af2ce decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0 if undefined.
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
2008-06-13 22:07:28 +00:00
Jerry DeLisle 7f7e76a4ee Add missing entry.
From-SVN: r136767
2008-06-13 20:55:35 +00:00
Jerry DeLisle c0d81bd8ec re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
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
2008-06-13 20:35:12 +00:00
Jerry DeLisle 8a22191467 re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
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
2008-06-13 20:30:48 +00:00
Jerry DeLisle cea93abbe2 re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
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
2008-06-13 20:28:08 +00:00
Tobias Burnus c5f4d1cc2f configure.ac (AM_CFLAGS): Remove -Werror again.
2008-06-13  Tobias Burnus  <burnus@net-b.de>

       * configure.ac (AM_CFLAGS): Remove -Werror again.
       * configure: Regenerate.

From-SVN: r136762
2008-06-13 21:29:22 +02:00
Tobias Burnus 60dcf38a00 re PR fortran/36518 (libgfortran: "warning: format '%d' expects type 'int', but")
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
2008-06-13 20:43:25 +02:00
Tobias Burnus 357ad64f1c re PR fortran/36476 (ICE: len=* CHARACTER array with separate PARAMETER statement)
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
2008-06-13 15:04:26 +02:00
Paolo Carlini 4dc3e453c8 stl_deque.h (deque<>::push_back(_Args&&...), [...]): Remove.
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
2008-06-13 12:03:13 +00:00
Olivier Hainque ca789c7ff6 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
2008-06-13 10:27:29 +00:00
Eric Botcazou 9133c85e1a re PR middle-end/36520 (ICE in get_memory_rtx)
PR middle-end/36520
	* builtins.c (get_memory_rtx): Test for the presence of DECL_SIZE_UNIT
	before evaluating it.

From-SVN: r136747
2008-06-13 10:20:57 +00:00
Jakub Jelinek 6cf598659e re PR c/36507 (ISO C99 inline semantics doesn't play together with nested functions)
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
2008-06-13 11:38:31 +02:00
Paolo Carlini 6a4533e554 array (array<>::assign): Do not define in C++0x mode, per DR 776...
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
2008-06-13 07:35:22 +00:00
Tobias Burnus c3e9b6abf8 re PR fortran/36495 (libgfortran should be build with FCFLAGS -fimplicit-none)
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
2008-06-13 09:10:15 +02:00
Richard Sandiford a9a533509a mips.md: Remove TARGET_DEBUG_D_MODE conditions from splits that must be made for correctness.
gcc/
	* config/mips/mips.md: Remove TARGET_DEBUG_D_MODE conditions from
	splits that must be made for correctness.

From-SVN: r136739
2008-06-13 07:01:53 +00:00
Richard Sandiford fd0eb89726 mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
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
2008-06-13 06:56:31 +00:00