Commit Graph

79909 Commits

Author SHA1 Message Date
Brooks Moses
52f2f1d754 gfc-internals.texi: New file,
* gfc-internals.texi: New file,
* Make-lang.in: Add rules to convert it to dvi, pdf, and info.

From-SVN: r123251
2007-03-26 17:41:27 -07:00
Richard Henderson
24bfafbc9d re PR target/31361 (SSE2 generation bug with shifts)
PR target/31361
        * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128,
        IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128,
        IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128,
        IX86_BUILTIN_PSRLQ128): New.
        (ix86_init_mmx_sse_builtins): Add them.
        (ix86_expand_builtin): Expand them.
        * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
        operand 2 be TImode.
        * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16,
        _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
        _mm_srli_epi64): Mark __B const.
        (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
        (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
        _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use 
        new two-vector shift builtins.

From-SVN: r123250
2007-03-26 17:30:32 -07:00
Dirk Mueller
df12b78f89 parser.c (cp_parser_member_declaration): Pedwarn about stray semicolons after member declarations.
2007-03-26  Dirk Mueller  <dmueller@suse.de>

       * parser.c (cp_parser_member_declaration): Pedwarn
       about stray semicolons after member declarations.

From-SVN: r123249
2007-03-27 00:15:29 +00:00
GCC Administrator
196a935a31 Daily bump.
From-SVN: r123247
2007-03-26 23:16:59 +00:00
Brooks Moses
7b0930d9cc * error.c (show_locus): Remove always-false test.
From-SVN: r123244
2007-03-26 15:59:33 -07:00
DJ Delorie
2aeb72e996 Revert accidental commit.
From-SVN: r123243
2007-03-26 18:50:13 -04:00
Zack Weinberg
703d89ab91 Add file left out of prior commit, and regenerate the proper configure script
From-SVN: r123242
2007-03-26 22:23:50 +00:00
Stepan Kasal
596438ca81 Main.java (cniOrJniSeen): New field.
2007-03-26  Stepan Kasal  <skasal@redhat.com>

	* tools/gnu/classpath/tools/javah/Main.java (cniOrJniSeen): New
	field.
	(getParser): Use new field.

From-SVN: r123240
2007-03-26 22:15:14 +00:00
Paolo Carlini
7cf2045de1 re PR c++/30500 (pragma GCC system_header vs templates)
2007-03-26  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30500
	* pt.c (instantiate_decl): Set in_system_header.

2007-03-26  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30500
	* g++.dg/warn/pragma-system_header1.C: New test.
	* g++.dg/warn/pragma-system_header2.C: New test.
	* g++.dg/warn/pragma-system_header1.h. New.
	* g++.dg/warn/pragma-system_header2.h. New.

From-SVN: r123239
2007-03-26 21:55:19 +00:00
Paolo Carlini
912291cac3 re PR c++/30500 (pragma GCC system_header vs templates)
2007-03-26  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30500
	* pt.c (instantiate_decl): Set in_system_header.

2007-03-26  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30500
	* g++.dg/warn/pragma-system_header1.C: New test.
	* g++.dg/warn/pragma-system_header2.C: New test.
	* g++.dg/warn/pragma-system_header1.h. New.
	* g++.dg/warn/pragma-system_header2.h. New.

From-SVN: r123238
2007-03-26 21:55:03 +00:00
Ian Lance Taylor
fa6338517f re PR tree-optimization/31345 (ICE in set_value_range, at tree-vrp.c:269)
./:	PR tree-optimization/31345
	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
	[+INF, +INF(OVF)] into VARYING.
testsuite/:
	PR tree-optimization/31345
	* gcc.c-torture/compile/pr31345-1.c: New test.

From-SVN: r123237
2007-03-26 21:43:30 +00:00
Brooks Moses
0d67a675f0 * lang.opt: Minor edits to descriptions.
From-SVN: r123236
2007-03-26 14:35:20 -07:00
Zack Weinberg
01d419aec1 gengtype-parse.c: New file.
* gengtype-parse.c: New file.
	* gengtype-yacc.y: Delete.
	* gengtype-lex.l: Don't include gengtype-yacc.h.
	Define YY_DECL and yyterminate appropriately for recursive
	descent parser.  yylval is now a string out-parameter to yylex.
	(HWS, EOID): New shorthand.
	(IWORD): Add a couple more types.
	(yylex): Add a setup stanza.  Remove the complex rules for
	detecting GTY'ed types and typedefs; replace with simple
	keyword detectors.  Adjust everything for the changed
	definition of yylval.  Ignore all pp-directives, not just #define.
	(yyerror): Delete.
	(parse_file): Rename yybegin; do not call yyparse.
	(yyend): New.
	* gengtype.c (xasprintf): Export again.
	(this_file): New.  Use everywhere __FILE__ was being used.
	(get_lang_bitmap): Special case types defined in gengtype.c.
	(do_typedef, new_structure): Suppress definition of certain types.
	(new_structure): Improve diagnostics of duplicate definitions.
	Make sure location_s is associated with input.h.
	(nreverse_pairs, define_location_structures): New functions.
	(main): Improve tagging of kludge types.  Remove old kludges
	for input.h types; use define_location_structures.
	* gengtype.h: Update prototypes.  Define token codes here.
	* Makefile.in: Remove all references to gengtype-yacc.
	Add rules for gengtype-parse.o.  Adjust rules for gengtype-lex.o
	and gengtype.
	* bitmap.h (struct bitmap_head_def): Coalesce definitions,
	add GTY((skip)) to the field that's only conditionally there.
	* doc/install.texi: Document that Bison is no longer required
	unless building treelang.

From-SVN: r123235
2007-03-26 21:18:43 +00:00
Zack Weinberg
11a675992a gengtype.c: Don't include gtyp-gen.h.
* gengtype.c: Don't include gtyp-gen.h.
	(srcdir): Declare here.
	(base_files, lang_dir_names): Allocate dynamically.
	(gt_files, num_gt_files, num_lang_dirs): New globals.
	(measure_input_list, read_input_line, read_input_list)
	(set_lang_bitmap): New functions.
	(get_base_file_bitmap): Rename get_lang_bitmap and drastically
	simplify, relying on read_input_list to set up the bitmaps.
	(main): Arguments are no longer unused.  Check for correct number
	of command line arguments, set srcdir and srcdir_len, then call
	read_input_list, before doing anything else.  No need to worry
	about duplicates in main loop.
	* configure.ac: Simplify the calculation of all_gtfiles.
	Put language tags in there.  Don't set or substitute
	all_gtfiles_files_langs or all_gtfiles_files_frags.
	* Makefile.in: Revamp the way gengtype is invoked, now that it
	takes a file on its command line with a much simpler format.
	Remove or replace with gtyp-input.list all references to gtyp-gen.h.
	(GTFILES): Remove duplicates and C source files.
	* c-config-lang.in, cp/config-lang.in, objc/config-lang.in
	* objcp/config-lang.in: Add c-pragma.h to gtfiles.
	* configure: Regenerate.

From-SVN: r123234
2007-03-26 21:07:27 +00:00
Zack Weinberg
065ae61175 gengtype.h: Remove all type definitions to gengtype.c...
* gengtype.h: Remove all type definitions to gengtype.c; leave
	only definitions of options_p, type_p, and pair_p as opaque
	pointers.  Update prototypes.
	* gengtype.c: Many type definitions moved here from gengtype.h.
	Consolidate type definitions at the top of the file.
	(xvasprintf): Delete.
	(xasprintf): Make static.
	(create_nested_pointer_option): Add 'next' parameter.
	(create_field_all, create_field_at): New functions.
	(create_field): Now a thin wrapper around create_field_all.
	(create_optional_field): Rename create_optional_field_ and add
	line argument.  Original name is now a macro which supplies
	__LINE__.
	(oprintf): Use vsnprintf directly.
	(close_output_files): Use fatal rather than perror/exit.
	(note_def_vec, note_def_vec_alloc): Use create_field_at.
	(main): Set progname.  Don't use exit.
	* gengtype-yacc.y (struct_fields): Use create_field_at.
	(option, optionseqopt): Delete.
	(optionseq): Consolidate productions from option here so we
	can use the first argument to create_option.

From-SVN: r123233
2007-03-26 21:04:59 +00:00
Zack Weinberg
17defa6a13 gengtype-lex.l: Distinguish unions from structures in the token type.
* gengtype-lex.l: Distinguish unions from structures in the
	token type.  Don't call find_structure; return the tag as a string.
	* gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and ENT_UNION.
	Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is string.
	Reorganize typedef_struct production accordingly.
	Use create_nested_ptr_option.
	* gengtype.c (create_nested_ptr_option): New function.
	* gengtype.h: Declare it.

From-SVN: r123232
2007-03-26 21:00:20 +00:00
Zack Weinberg
95161faf6d gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char.
* gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char.
	(string_type): Don't declare.
	(do_scalar_typedef): Declare.
	(create_scalar_type): Update prototype.
	* gengtype.c (string_type): Make static.
	(scalar_nonchar, scalar_char): New.
	(do_scalar_typedef): Export.  Always use scalar_nonchar for the type.
	(resolve_typedef): Use scalar_nonchar for error recovery.
	(create_scalar_type): Remove name_len field.  Return scalar_char
	or scalar_nonchar as appropriate.
	(adjust_field_type): Look at scalar_is_char boolean to decide whether
	to use string_type.
	(throughout): Use scalar_nonchar instead of calling create_scalar_type,
	whenever possible.
	(main): Initialize scalar_char and scalar_nonchar before calling
	gen_rtx_next.
	* gengtype-lex.l: Adjust for removal of second argument to
	create_scalar_type.  Use yylval.s instead of yylval.t when
	returning SCALAR.
	* gengtype-yacc.y: Type of SCALAR is string.  Call
	create_scalar_type from type:SCALAR rule.  Adjust for removal of
	second argument to create_scalar_type.

From-SVN: r123231
2007-03-26 20:55:10 +00:00
Zack Weinberg
4a399aef3a vec.h: Remove all #if IN_GENGTYPE blocks.
* vec.h: Remove all #if IN_GENGTYPE blocks.
	Add comment saying that changes may require adjustments to gengtype.
	* gengtype.c: Don't include coretypes.h or tm.h.
	Add comment to inclusion of errors.h.
	(note_def_vec, note_def_vec_alloc): New functions.
	* gengtype.h: Declare new functions.
	* gengtype-lex.l: Don't include coretypes.h.
	(YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name):
	Delete.
	(update_lineno): Remove unnecessary prototype.
	(DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc.
	(VEC rule): Just return VEC_TOKEN.
	* gengtype-yacc.y (VEC_TOKEN): New token type.
	(type): Add a production for VEC(a,b).
	* Makefile.in: Update dependencies.

From-SVN: r123229
2007-03-26 20:49:17 +00:00
Zack Weinberg
d287ace688 gengtype-lex.l: Remove rules for parsing pointer-to-function typedefs that use the old PARAMS macro.
* gengtype-lex.l: Remove rules for parsing pointer-to-function
	typedefs that use the old PARAMS macro.

From-SVN: r123227
2007-03-26 20:46:29 +00:00
Zack Weinberg
cff4720f62 gengtype-lex.l: Remove all rules and states relating to yacc input files.
* gengtype-lex.l: Remove all rules and states relating to yacc
	input files.
	* gengtype-yacc.y: Similarly.
	* gengtype.c (note_yacc_type): Delete function.
	* gengtype.h: Update prototypes.

From-SVN: r123226
2007-03-26 20:45:01 +00:00
Brooks Moses
0227f9b9b2 func_derived_4.f90: Fix module cleanup.
* gfortran.dg/func_derived_4.f90: Fix module cleanup.
* gfortran.dg/gomp/appendix-a/a.22.4.f90: Clean up modules.
* gfortran.dg/gomp/appendix-a/a.26.2.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.32.1.f90: Likewise.
* gfortran.dg/overload_1.f90: Likewise.
* gfortran.dg/impure_assignment_1.f90: Likewise.
* gfortran.dg/error_recovery_3.f90: Likewise.
* gfortran.dg/alloc_comp_basics_1.f90: Likewise.
* gfortran.dg/sequence_types_1.f90: Likewise.
* gfortran.dg/internal_references_1.f90: Likewise.
* gfortran.dg/present_1.f90: Likewise.
* gfortran.dg/volatile10.f90: Likewise.
* gfortran.dg/module_equivalence_2.f90: Likewise.
* gfortran.dg/use_4.f90: Likewise.
* gfortran.dg/elemental_result_1.f90: Likewise.
* gfortran.dg/generic_actual_arg.f90: Likewise.
* gfortran.dg/private_type_5.f90: Likewise.
* gfortran.dg/protected_4.f90: Likewise.
* gfortran.dg/interface_3.f90: Likewise.

From-SVN: r123225
2007-03-26 13:14:51 -07:00
Joseph Myers
71175bf368 tree-pretty-print.c (dump_generic_node): Report precision of unnamed integer types.
* tree-pretty-print.c (dump_generic_node): Report precision of
	unnamed integer types.

From-SVN: r123224
2007-03-26 20:56:59 +01:00
Steven Bosscher
93242b9c1b ifcvt.c (noce_try_store_flag_constants): Don't check no_new_pseudos here.
* ifcvt.c (noce_try_store_flag_constants): Don't check
	no_new_pseudos here.
	(noce_try_store_flag_constants): Don't check no_new_pseudos.
	(noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith,
	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
	noce_try_sign_mask): Likewise.
	(if_convert): Check no_new_pseudos here.

	(cond_exec_process_if_block, noce_process_if_block, find_if_block):
	Remove prototypes.
	(struct noce_if_info): Add then_bb, else_bb, join_bb members.
	(noce_get_condition): Handle new then_else_reversed argument.
	(noce_init_if_info): Remove, fold into noce_find_if_block.
	(noce_process_if_block): Take a struct noce_if_info as the
	argument.  Don't set up one based on ce_if_info.  Update pointer
	references accordingly.
	(cond_move_process_if_block): Likewise.
	(process_if_block): Removed.
	(find_if_block): Removed.  Move functionality two new functions,
	noce_find_if_block and cond_exec_find_if_block.
	(noce_find_if_block): New function.  Be aware of IF-THEN-JOIN
	blocks and the symmetric IF-ELSE-JOIN case.
	(cond_exec_find_if_block): Also new function mostly based on old
	find_if_block and process_if_block.
	(find_if_header): Replace find_if_block call with separately
	guarded calls to noce_find_if_block and cond_exec_find_if_block.
	(find_cond_trap): Update noce_get_condition call.
	(dead_or_predicable): Likewise.

From-SVN: r123223
2007-03-26 19:37:11 +00:00
David Daney
646714ab75 configure.ac: Remove checks for mktime...
* configure.ac: Remove checks for mktime, alloca, ioctl, gmtime_r,
	fork, execvp, execinfo.h, pthread_mutexattr_settype,
	pthread_mutexattr_setkind_np and sys/wait.h.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/config.h.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.

From-SVN: r123221
2007-03-26 18:15:31 +00:00
H.J. Lu
b5292be675 acx.m4 (ACX_BUGURL): Set BUGURL first.
2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>

	* acx.m4 (ACX_BUGURL): Set BUGURL first. Quote $BUGURL first
	when setting REPORT_BUGS_TEXI.

From-SVN: r123218
2007-03-26 08:37:47 -07:00
Uros Bizjak
0890eb23c3 gcc-dg.exp (gcc-dg-debug-runtest): Remove build file trivial.S.
* lib/gcc-dg.exp (gcc-dg-debug-runtest): Remove build file trivial.S.
        * gcc.dg/debug/dwarf2/dwarf2.exp: Ditto.

From-SVN: r123217
2007-03-26 16:09:06 +02:00
Jakub Jelinek
cb3790cb4e inclhack.def (glibc_c99_inline_1): Define __USE_EXTERN_INLINES if __extern_inline or __GNUC_GNU_INLINE__ is...
* inclhack.def (glibc_c99_inline_1): Define __USE_EXTERN_INLINES
	if __extern_inline or __GNUC_GNU_INLINE__ is defined rather than
	__STDC_VERSION__ < 199901L.
	(glibc_c99_inline_2): Replace #if __STDC_VERSION__ < 199901L
	with #ifdef __GNUC_GNU_INLINE__.
	(glibc_c99_inline_3): Add select.  Replace __STDC_VERSION__ >= 199901L
	with defined(__GNUC_STDC_INLINE__).
	(glibc_c99_inline_4): Change select, add second c_fix_arg.
	Replace #if __STDC_VERSION__ < 199901L with
	#ifdef __GNUC_GNU_INLINE__.
	* fixincl.x: Regenerated.
	* tests/base/bits/string2.h: Update.
	* tests/base/sys/sysmacros.h: Update.
	* tests/base/sys/stat.h: Update.

From-SVN: r123216
2007-03-26 15:25:26 +02:00
Jakub Jelinek
85acef0e28 i386.c (IX86_BUILTIN_CMPNEPD, [...]): Remove.
* config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD):
	Remove.
	(IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128,
	IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128,
	IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove.
	(ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and
	v4si_ftype_v4si_v2di.   Remove __builtin_ia32_psllw128,
	__builtin_ia32_pslld128, __builtin_ia32_psllq128,
	__builtin_ia32_psrlw128, __builtin_ia32_psrld128,
	__builtin_ia32_psrlq128, __builtin_ia32_psraw128 and
	__builtin_ia32_psrad128 builtins.

From-SVN: r123215
2007-03-26 15:23:17 +02:00
Benjamin Kosnik
5ad2f32df6 complex.h: Without __GXX_EXPERIMENTAL_CXX0X__ include_next complex.h.
2007-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_compatibility/complex.h: Without
	__GXX_EXPERIMENTAL_CXX0X__ include_next complex.h.	
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/tr1/cinttypes: Use include_next.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdbool: Same.

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Add check for tgmath.h
	* configure: Regenerate.
	* config.h.in: Same.

From-SVN: r123214
2007-03-26 10:41:41 +00:00
Uros Bizjak
8dde5924c6 reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert().
* reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert().
        * config/i386/constraints.md
	(define_constraint "I"): Use IN_RANGE macro.
	(define_constraint "J"): Ditto.
	(define_constraint "K"): Ditto.
	(define_constraint "M"): Ditto.
	(define_constraint "N"): Ditto.
	(define_constraint "O"): Ditto.
	* config/i386/predicates.md
	(define_predicate "register_no_elim_operand"): Use IN_RANGE macro.
	(define_predicate "const_0_to_3_operand"): Ditto.
	(define_predicate "const_0_to_7_operand"): Ditto.
	(define_predicate "const_0_to_15_operand"): Ditto.
	(define_predicate "const_0_to_63_operand"): Ditto.
	(define_predicate "const_0_to_255_operand"): Ditto.
	(define_predicate "const_1_to_31_operand"): Ditto.
	(define_predicate "const_2_to_3_operand"): Ditto.
	(define_predicate "const_4_to_7_operand"): Ditto.

From-SVN: r123210
2007-03-26 10:34:01 +02:00
Uros Bizjak
04375334a4 use_[567].f90: Use correct cleanup-modules dg directive.
* gfortran.dg/use_[567].f90: Use correct cleanup-modules dg directive.

From-SVN: r123209
2007-03-26 08:08:54 +02:00
Jerry DeLisle
420b320a12 re PR fortran/31199 (write with "t1" + nonadvancing transfer format gives wrong output)
2007-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31199
	* gfortran.dg/fmt_t_4.f90: New test.

From-SVN: r123207
2007-03-26 03:41:29 +00:00
Jerry DeLisle
2ff0a77e97 Fix date in entry.
From-SVN: r123206
2007-03-26 03:26:51 +00:00
Jerry DeLisle
beb6a65e75 re PR fortran/31199 (write with "t1" + nonadvancing transfer format gives wrong output)
2007-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31199
	*io/io.h: Add saved_pos to gfc_unit structure.
	*io/open.c (new_unit): Initialize saved_pos.
	*io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos.
	(next_record_w): Fix whitespace.
	(finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for
	later use.  If not ADVANCE="no" set saved_pos to zero.

From-SVN: r123205
2007-03-26 03:23:15 +00:00
GCC Administrator
75b63e8b5b Daily bump.
From-SVN: r123203
2007-03-25 23:17:29 +00:00
Thomas Koenig
da631596c3 re PR libfortran/31297 (Use of uninitialized variables in libgfortran's I/O)
2007-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/31297
	* gfortran.dg/backspace_5.f:  Initialize variable(s).
	* gfortran.dg/backspace_6.f:  Likewise.
	* gfortran.dg/char_bounds_check_fail_1: Likewise.
	* gfortran.dg/direct_io_2.f90:  Likewise.
	* gfortran.dg/write_back.f:  Likewise.
	* gfortran.dg/write_rewind_2.f:  Likewise.
	* gfortran.dg/write_rewind_1.f:  Likewise.
	* gfortran.dg/write_rewind_2.f:  Likewise.

From-SVN: r123200
2007-03-25 20:17:51 +00:00
Paolo Carlini
cdbd119b94 functional: Formatting fixes.
2007-03-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Formatting fixes.

From-SVN: r123199
2007-03-25 16:29:15 +00:00
David Edelsohn
a5ad201780 rs6000.c (rs6000_emit_prologue): Always clobber LR in SImode for save_world.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR
        in SImode for save_world.
        * config/rs6000/altivec.md (save_world, restore_world): Convert to
        LR hard reg.

From-SVN: r123198
2007-03-25 08:44:40 -04:00
Dorit Nuzman
5773afc5b5 re PR middle-end/30784 (ICE on loop vectorization (-O1 -march=athlon-xp -ftree-vectorize))
PR tree-optimization/30784
        * fold-const.c (fold_ternary): Handle CONSTRUCTOR in case
        BIT_FIELD_REF.

From-SVN: r123197
2007-03-25 11:08:29 +00:00
Francois-Xavier Coudert
271892929a re PR fortran/30877 (Extending intrinsic operators)
PR fortran/30877

	* fortran/interface.c (check_operator_interface): Implement
	the standard checks on user operators extending intrinsic operators.
	* fortran/resolve.c (resolve_operator): If the ranks of operators
	don't match, don't error out but try the user-defined ones first.

	* gfortran.dg/operator_1.f90: New test.
	* gfortran.dg/operator_2.f90: New test.

From-SVN: r123196
2007-03-25 09:01:23 +00:00
Thomas Koenig
cc41ec4ebc re PR fortran/31196 ([4.1 only] wrong code generated with RESHAPE/TRANSPOSE)
2007-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/31196
	* intrinsics/reshape_generic.c (reshape_internal):  Increment
	correct variable.

2007-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/31196
	* gfortran.dg/reshape_transpose_1.f90:  New test.

From-SVN: r123195
2007-03-25 08:29:10 +00:00
Revital Eres
3ece6cc239 fix in tree-if-conv.c
From-SVN: r123194
2007-03-25 06:53:02 +00:00
David Edelsohn
e65a3857a5 darwin.md (load_macho_picbase): Ignore operand 0.
* config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0.
        (load_macho_picbase_{si,di}): Convert to LR hard reg.
        (call_indirect_nonlocal_darwin64): Same.
        (call_nonlocal_darwin64): Same.
        (call_value_indirect_nonlocal_darwin64): Same.
        (call_value_nonlocal_darwin64): Same.
        (sibcall_nonlocal_darwin64): Same.
        (sibcall_value_nonlocal_darwin64): Same.
        (sibcall_symbolic_64): Same.
        (sibcall_value_symbolic_64): Same.
        * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove
        LR pseudo.
        (rs6000_emit_load_toc_table): Same.
        * config/rs6000/altivec.md (restore_world): Convert to LR hard reg.
        * config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg.
        (mull_call): Same.
        (divss_call): Same.
        (divus_call): Same.
        (quoss_call): Same.
        (quous_call): Same.
        (load_toc_v4_pic_si): Same
        (load_toc_v4_PIC_1): Same.
        (load_toc_v4_PIC_1b): Same.
        (call_indirect_aix{32,64}): Same.
        (call_value_indirect_aix{32,64}): Same.
        (call): Same.
        (call_value): Same.
        (call_local{32,64}): Same.
        (call_value_local{32,64}): Same.
        (call_indirect_nonlocal_aix{32,64}): Same.
        (call_nonlocal_aix{32,64}): Same.
        (call_value_indirect_nonlocal_aix{32,64}): Same.
        (call_value_nonlocal_aix{32,64}): Same.
        (call_indirect_nonlocal_sysv<mode>): Same.
        (call_nonlocal_sysv<mode>): Same.
        (call_value_indirect_nonlocal_sysv<mode>): Same.
        (call_value_nonlocal_sysv<mode>): Same.
        (sibcall): Same.
        (sibcall_local{32,64}): Same.
        (sibcall_value_local{32,64}): Same.
        (sibcall_nonlocal_aix{32,64}): Same.
        (sibcall_value_nonlocal_aix{32,64}): Same.
        (sibcall_value_nonlocal_aix{32,64}): Same.
        (sibcall_nonlocal_sysv<mode>): Same.
        (sibcall_value): Same.
        (sibcall_value_nonlocal_sysv<mode>): Same.

From-SVN: r123193
2007-03-24 22:41:54 -04:00
Paul Brook
3303be154c lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
2007-03-24  Paul Brook  <paul@codesourcery.com>

	* config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
	* config/arm/linux-eabi.h: Remove legacy syscall hack.

From-SVN: r123192
2007-03-25 01:07:45 +00:00
GCC Administrator
81b780b061 Daily bump.
From-SVN: r123190
2007-03-25 00:17:27 +00:00
Francois-Xavier Coudert
d912240d90 re PR fortran/30655 (Undue out-of-bounds warning)
PR fortran/30655

	* expr.c (check_dimension): Fix logic of comparisons.

	* gfortran.dg/bounds_check_6.f90: New test.

From-SVN: r123187
2007-03-24 20:19:51 +00:00
Richard Henderson
13f703423a constraints.md: New file.
* config/ia64/constraints.md: New file.
        * config/ia64/predicates.md: Replace CONST_OK_FOR_? with
        satisfies_constraint_?.
        * config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p,
        ia64_reload_gp, spill_restore_mem, ia64_expand_prologue,
        ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs,
        ia64_output_mi_thunk): Likewise.
        (ia64_const_ok_for_letter_p): Remove.
        (ia64_const_double_ok_for_letter_p): Remove. 
        (ia64_extra_constraint): Remove.
        * config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove.
        (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L,
        CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P,
        CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G,
        CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT,
        EXTRA_MEMORY_CONSTRAINT): Remove.
        * config/ia64/ia64.md: Include constriants.md.  Replace
        CONST_OK_FOR_? with satisfies_constraint_?.

From-SVN: r123186
2007-03-24 12:28:37 -07:00
Michael Meissner
79b87c74d7 Add BID decimal support
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
Co-Authored-By: Marius Cornea <marius.cornea@intel.com>

From-SVN: r123185
2007-03-24 17:04:47 +00:00
Paul Thomas
cca643862d re PR fortran/31215 (ICE on valid code with gfortran)
2007-03-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31215
	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
	int result that is non-zero if the expression is the function
	result.  Only the characteristics of the result expression
	can be used in a procedure interface, so simplify LEN in situ
	using its character length.

	PR fortran/31219
	PR fortran/31200
	* trans-expr.c (gfc_conv_function_call): Do not use
	gfc_conv_expr_reference for actual pointer function with formal
	target because a temporary is created that does not transfer
	the reference correctly.  Do not indirect formal pointer
	functions since it is the function reference that is needed.

2007-03-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31219
	* gfortran.dg/pointer_function_actual_1.f90: New test.

	PR fortran/31200
	* gfortran.dg/pointer_function_actual_2.f90: New test.

	PR fortran/31215
	* gfortran.dg/result_in_spec_1.f90: New test.

From-SVN: r123184
2007-03-24 14:17:34 +00:00
Paul Thomas
6a661315c2 re PR fortran/31215 (ICE on valid code with gfortran)
2007-03-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31215
	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
	int result that is non-zero if the expression is the function
	result.  Only the characteristics of the result expression
	can be used in a procedure interface, so simplify LEN in situ
	using its character length.

	PR fortran/31219
	PR fortran/31200
	* trans-expr.c (gfc_conv_function_call): Do not use
	gfc_conv_expr_reference for actual pointer function with formal
	target because a temporary is created that does not transfer
	the reference correctly.  Do not indirect formal pointer
	functions since it is the function reference that is needed.

2007-03-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31219
	* gfortran.dg/pointer_function_actual_1.f90: New test.

	PR fortran/31200
	* gfortran.dg/pointer_function_actual_2.f90: New test.

	PR fortran/31215
	* gfortran.dg/result_in_spec_1.f90: New test.

From-SVN: r123183
2007-03-24 12:30:58 +00:00