Richard Henderson [Tue, 27 Mar 2007 00:30:32 +0000 (17:30 -0700)]
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
Dirk Mueller [Tue, 27 Mar 2007 00:15:29 +0000 (00:15 +0000)]
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
GCC Administrator [Mon, 26 Mar 2007 23:16:59 +0000 (23:16 +0000)]
Daily bump.
From-SVN: r123247
Brooks Moses [Mon, 26 Mar 2007 22:59:33 +0000 (22:59 +0000)]
* error.c (show_locus): Remove always-false test.
From-SVN: r123244
DJ Delorie [Mon, 26 Mar 2007 22:50:13 +0000 (18:50 -0400)]
Revert accidental commit.
From-SVN: r123243
Zack Weinberg [Mon, 26 Mar 2007 22:23:50 +0000 (22:23 +0000)]
Add file left out of prior commit, and regenerate the proper configure script
From-SVN: r123242
Stepan Kasal [Mon, 26 Mar 2007 22:15:14 +0000 (22:15 +0000)]
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
Paolo Carlini [Mon, 26 Mar 2007 21:55:19 +0000 (21:55 +0000)]
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
Paolo Carlini [Mon, 26 Mar 2007 21:55:03 +0000 (21:55 +0000)]
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
Ian Lance Taylor [Mon, 26 Mar 2007 21:43:30 +0000 (21:43 +0000)]
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
Brooks Moses [Mon, 26 Mar 2007 21:35:20 +0000 (21:35 +0000)]
* lang.opt: Minor edits to descriptions.
From-SVN: r123236
Zack Weinberg [Mon, 26 Mar 2007 21:18:43 +0000 (21:18 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 21:07:27 +0000 (21:07 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 21:04:59 +0000 (21:04 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 21:00:20 +0000 (21:00 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 20:55:10 +0000 (20:55 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 20:49:17 +0000 (20:49 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 20:46:29 +0000 (20:46 +0000)]
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
Zack Weinberg [Mon, 26 Mar 2007 20:45:01 +0000 (20:45 +0000)]
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
Brooks Moses [Mon, 26 Mar 2007 20:14:51 +0000 (20:14 +0000)]
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
Joseph Myers [Mon, 26 Mar 2007 19:56:59 +0000 (20:56 +0100)]
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
Steven Bosscher [Mon, 26 Mar 2007 19:37:11 +0000 (19:37 +0000)]
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
David Daney [Mon, 26 Mar 2007 18:15:31 +0000 (18:15 +0000)]
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
H.J. Lu [Mon, 26 Mar 2007 15:37:47 +0000 (15:37 +0000)]
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
Uros Bizjak [Mon, 26 Mar 2007 14:09:06 +0000 (16:09 +0200)]
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
Jakub Jelinek [Mon, 26 Mar 2007 13:25:26 +0000 (15:25 +0200)]
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
Jakub Jelinek [Mon, 26 Mar 2007 13:23:17 +0000 (15:23 +0200)]
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
Benjamin Kosnik [Mon, 26 Mar 2007 10:41:41 +0000 (10:41 +0000)]
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
Uros Bizjak [Mon, 26 Mar 2007 08:34:01 +0000 (10:34 +0200)]
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
Uros Bizjak [Mon, 26 Mar 2007 06:08:54 +0000 (08:08 +0200)]
use_[567].f90: Use correct cleanup-modules dg directive.
* gfortran.dg/use_[567].f90: Use correct cleanup-modules dg directive.
From-SVN: r123209
Jerry DeLisle [Mon, 26 Mar 2007 03:41:29 +0000 (03:41 +0000)]
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
Jerry DeLisle [Mon, 26 Mar 2007 03:26:51 +0000 (03:26 +0000)]
Fix date in entry.
From-SVN: r123206
Jerry DeLisle [Mon, 26 Mar 2007 03:23:15 +0000 (03:23 +0000)]
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
GCC Administrator [Sun, 25 Mar 2007 23:17:29 +0000 (23:17 +0000)]
Daily bump.
From-SVN: r123203
Thomas Koenig [Sun, 25 Mar 2007 20:17:51 +0000 (20:17 +0000)]
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
Paolo Carlini [Sun, 25 Mar 2007 16:29:15 +0000 (16:29 +0000)]
functional: Formatting fixes.
2007-03-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/functional: Formatting fixes.
From-SVN: r123199
David Edelsohn [Sun, 25 Mar 2007 12:44:40 +0000 (12:44 +0000)]
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
Dorit Nuzman [Sun, 25 Mar 2007 11:08:29 +0000 (11:08 +0000)]
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
Francois-Xavier Coudert [Sun, 25 Mar 2007 09:01:23 +0000 (09:01 +0000)]
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
Thomas Koenig [Sun, 25 Mar 2007 08:29:10 +0000 (08:29 +0000)]
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
Revital Eres [Sun, 25 Mar 2007 06:53:02 +0000 (06:53 +0000)]
fix in tree-if-conv.c
From-SVN: r123194
David Edelsohn [Sun, 25 Mar 2007 02:41:54 +0000 (02:41 +0000)]
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
Paul Brook [Sun, 25 Mar 2007 01:07:45 +0000 (01:07 +0000)]
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
GCC Administrator [Sun, 25 Mar 2007 00:17:27 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r123190
Francois-Xavier Coudert [Sat, 24 Mar 2007 20:19:51 +0000 (20:19 +0000)]
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
Richard Henderson [Sat, 24 Mar 2007 19:28:37 +0000 (12:28 -0700)]
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
Michael Meissner [Sat, 24 Mar 2007 17:04:47 +0000 (17:04 +0000)]
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
Paul Thomas [Sat, 24 Mar 2007 14:17:34 +0000 (14:17 +0000)]
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
Paul Thomas [Sat, 24 Mar 2007 12:30:58 +0000 (12:30 +0000)]
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
Brooks Moses [Sat, 24 Mar 2007 09:41:55 +0000 (09:41 +0000)]
* gfortran.h: Edit comments on GFC_STD_*.
From-SVN: r123182
Brooks Moses [Sat, 24 Mar 2007 09:39:01 +0000 (09:39 +0000)]
invoke.texi: Misc.
* invoke.texi: Misc. small typo fixes.
(-Wcharacter-truncation): Add.
(-Wnonstd-intrinsics): Correct spelling.
(-std=): Edit.
(-fintrinsic-modules-path): Add.
From-SVN: r123181
Uros Bizjak [Sat, 24 Mar 2007 07:13:17 +0000 (08:13 +0100)]
return_fl2.c (return_fl): Mark as static.
* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
Use 'volatile float sum' to create sum of floats to avoid false
negative due to excess precision on ix86 targets.
(main): Ditto.
From-SVN: r123180
Ayal Zaks [Sat, 24 Mar 2007 00:33:20 +0000 (00:33 +0000)]
* MAINTAINERS (Modulo Scheduler): Add myself.
From-SVN: r123178
GCC Administrator [Sat, 24 Mar 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r123176
Ian Lance Taylor [Fri, 23 Mar 2007 23:21:46 +0000 (23:21 +0000)]
* fold-const.c (fold_binary): Correct warning for X - c >= X.
From-SVN: r123172
Ian Lance Taylor [Fri, 23 Mar 2007 23:19:25 +0000 (23:19 +0000)]
* tree-dump.c (dump_files): Correct comment.
From-SVN: r123171
Ian Lance Taylor [Fri, 23 Mar 2007 23:17:02 +0000 (23:17 +0000)]
* tree-vrp.c (operand_less_p): Ignore fold overflow warnings.
From-SVN: r123170
Steven Bosscher [Fri, 23 Mar 2007 23:10:37 +0000 (23:10 +0000)]
Fix accidental commit
From-SVN: r123169
Steven Bosscher [Fri, 23 Mar 2007 23:06:52 +0000 (23:06 +0000)]
Remove the patch from ChangeLog
From-SVN: r123168
Steven Bosscher [Fri, 23 Mar 2007 23:05:28 +0000 (23:05 +0000)]
tracer.c (tracer): Don't take FLAGS argument.
* tracer.c (tracer): Don't take FLAGS argument. Assert we are
in cfglayout mode. Don't go into and out of cfglayout mode.
Link the blocks in the order of the constructed traces.
(rest_of_handle_tracer): Adjust call to tracer.
* loop-init.c (rtl_loop_init): Assert we are in cfglayout mode.
Don't go into cfglayout mode.
(rtl_loop_done): Don't go out of cfglayout mode.
* cfglayout.c (relink_block_chain): New function, split out from...
(fixup_reorder_chain): ...here. Remove redundant checking.
(cfg_layout_finalize): Don't clear the header, footer, and aux
fields here, move the code to do so to relink_block_chain. Likewise
for free_original_copy_tables.
* rtl.h (tracer): Update prototype.
* bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument.
Assert we are in cfglayout mode. Don't go into and out of cfglayout
mode. Use relink_block_chain to serialize the CFG according to the
new basic block order. Move targetm.cannot_modify_jumps_p check from
here...
(gate_handle_reorder_blocks): ...to here.
(duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check
from here...
(gate_duplicate_computed_gotos): ...to here.
(rest_of_handle_reorder_blocks): Don't see if anything has changed,
something always changes when going into and out of cfglayout mode.
Perform an expensive cfg cleanup while going into cfglayout mode.
Always update liveness information on HAVE_conditional_execution
targets. Reserialize the basic blocks and go out of cfglayout mode.
* reg-stack.c: Include cfglayout.h.
(rest_of_handle_stack_regs): Go into and out of cfglayout mode around
the call to reorder_basic_blocks.
* basic-block.h (reorder_basic_blocks): Update prototype.
(relink_block_chain): New prototype.
* passes.c (pass_outof_cfg_layout_mode): Move after cse2.
From-SVN: r123167
Paolo Carlini [Fri, 23 Mar 2007 22:30:18 +0000 (22:30 +0000)]
4402.cc: Likewise use std::numeric_limits<>::max().
2007-03-23 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
Likewise use std::numeric_limits<>::max().
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
Minor tweaks.
From-SVN: r123166
Paolo Carlini [Fri, 23 Mar 2007 22:30:09 +0000 (22:30 +0000)]
4402.cc: Likewise use std::numeric_limits<>::max().
2007-03-23 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
Likewise use std::numeric_limits<>::max().
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
Minor tweaks.
From-SVN: r123165
Joseph Myers [Fri, 23 Mar 2007 19:44:46 +0000 (19:44 +0000)]
mips.md (type, [...]): Change xfer instruction type to mfc and mtc, as applicable.
* config/mips/mips.md (type, hazard, *movdi_32bit,
*movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc,
*movhi_internal, *movqi_internal, *movsf_hardfloat,
*movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat,
movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high,
mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as
applicable.
(movcc): Change first xfer to multi.
* config/mips/24k.md, config/mips/4100.md, config/mips/4300.md,
config/mips/5000.md, config/mips/5400.md, config/mips/5500.md,
config/mips/5k.md, config/mips/7000.md, config/mips/9000.md,
config/mips/generic.md: Change reservations using "xfer" to use
"mfc,mtc".
* config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of
using match_operand.
(ir_sb1_mfxfer): Use "mfc" instead of using match_operand.
* config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of
examining mode.
(ir_sr70_xfer_to): Use "mtc" instead of examining mode.
From-SVN: r123164
Hans-Peter Nilsson [Fri, 23 Mar 2007 19:37:28 +0000 (19:37 +0000)]
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc
(test02): Use std::numeric_limits<>::max() to get suitable large
values.
From-SVN: r123163
Andreas Tobler [Fri, 23 Mar 2007 19:25:19 +0000 (19:25 +0000)]
libgomp.exp (libgomp_init): Add -shared-libgcc for *-*-darwin*.
2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
*-*-darwin*.
* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
and use it if found.
From-SVN: r123162
Brooks Moses [Fri, 23 Mar 2007 18:40:46 +0000 (18:40 +0000)]
MAINTAINERS (fortran 95 front end): Add myself.
* MAINTAINERS (fortran 95 front end): Add myself.
(c++ front end): whitespace fix.
From-SVN: r123161
H.J. Lu [Fri, 23 Mar 2007 17:12:32 +0000 (17:12 +0000)]
acx.m4 (ACX_BUGURL): Replace "@" with "@@" for REPORT_BUGS_TEXI.
2007-03-23 H.J. Lu <hongjiu.lu@intel.com>
* acx.m4 (ACX_BUGURL): Replace "@" with "@@" for
REPORT_BUGS_TEXI.
From-SVN: r123160
Richard Henderson [Fri, 23 Mar 2007 16:34:51 +0000 (09:34 -0700)]
i386.c: Remove unnecessary function declarations.
* config/i386/i386.c: Remove unnecessary function declarations.
Move targetm definition, and all related macros, to the end of
the file. Resort some functions to put definitions before uses.
(ix86_attribute_table): Make static. Move to end of file.
(ix86_gimplify_va_arg): Make static.
From-SVN: r123159
Gary Benson [Fri, 23 Mar 2007 11:25:46 +0000 (11:25 +0000)]
link.cc (_Jv_Linker::resolve_method_entry): Ensure that the argument types and the return type of the found method match...
2007-03-23 Gary Benson <gbenson@redhat.com>
* link.cc (_Jv_Linker::resolve_method_entry):
Ensure that the argument types and the return type of the
found method match those expected by the calling method.
From-SVN: r123156
Francois-Xavier Coudert [Fri, 23 Mar 2007 07:00:56 +0000 (07:00 +0000)]
re PR fortran/30834 (ICE with kind=8 exponentiaton)
PR fortran/30834
* arith.c (complex_pow): Rewrite to handle large power.
(gfc_arith_power): Handle large power in the real and integer
cases.
* gfortran.dg/integer_exponentiation_3.F90: New test.
* gfortran.dg/integer_exponentiation_4.f90: New test.
* gfortran.dg/integer_exponentiation_5.F90: New test.
From-SVN: r123154
Mark Mitchell [Fri, 23 Mar 2007 04:39:08 +0000 (04:39 +0000)]
cp-tree.h (current_tempalte_parms): Improve documentation.
* cp-tree.h (current_tempalte_parms): Improve documentation.
* pt.c (current_template_args): Likewise.
From-SVN: r123153
Mark Mitchell [Fri, 23 Mar 2007 04:37:40 +0000 (04:37 +0000)]
re PR c++/30863 (Unsigned templatized struct treated as unsigned int)
PR c++/30863
* parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Do
not consume tokens when failing.
PR c++/30863
* g++.dg/template/error24.C: New test.
* g++.dg/parse/tmpl-outside1.C: Tweak error markers.
From-SVN: r123152
Mark Mitchell [Fri, 23 Mar 2007 04:31:21 +0000 (04:31 +0000)]
Mark Mitchell <mark@codesourcery.com> PR c++/31273
Mark Mitchell <mark@codesourcery.com>
PR c++/31273
* call.c (standard_conversion): Use type_decays_to. Keep FCODE
consistent with FROM.
PR c++/31273
* g++.dg/expr/bitfield7.C: New test.
From-SVN: r123150
Gabriel Dos Reis [Fri, 23 Mar 2007 02:58:46 +0000 (02:58 +0000)]
error.c (dump_expr): Handle dependent names that designate types.
* error.c (dump_expr): Handle dependent names that designate types.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Handle TYPENAME_TYPE.
From-SVN: r123148
Joseph Myers [Fri, 23 Mar 2007 02:51:56 +0000 (02:51 +0000)]
* acx.m4 (ACX_PKGVERSION, ACX_BUGURL): Define.
From-SVN: r123147
Richard Henderson [Fri, 23 Mar 2007 02:02:38 +0000 (19:02 -0700)]
i386.c (ix86_function_regparm): Early exit for 64-bit...
* config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit;
don't increase local_regparm with force_align_arg_pointer check.
(ix86_function_sseregparm): Assert 32-bit.
(type_has_variadic_args_p): New.
(ix86_return_pops_args): Early exit for 64-bit. Reindent; use
type_has_variadic_args_p.
(ix86_function_arg_regno_p): Use == 0 instead of ! test for eax.
(init_cumulative_args): Remove TARGET_DEBUG_ARG. Remove zero_cum;
use memset instead. Do maybe_vaarg check first; skip attribute
tests if true; skip attribute tests for 64-bit.
(construct_container): Remove TARGET_DEBUG_ARG.
(function_arg_advance_32, function_arg_advance_64): Split out ...
(function_arg_advance): ... from here.
(function_arg_32, function_arg_64): Split out ...
(function_arg): ... from here.
(ix86_pass_by_reference): Tidy.
(ix86_function_value_regno_p): Rearrange w/ switch on regno.
(function_value_32): New, from parts of ix86_function_value
and ix86_value_regno.
(function_value_64): New, from parts of ix86_function_value
and ix86_libcall_value.
(ix86_function_value_1): New.
(ix86_function_value, ix86_libcall_value): Use it.
(return_in_memory_32, return_in_memory_64): Split out ...
(ix86_return_in_memory): ... from here.
(ix86_struct_value_rtx): Skip for 64-bit.
(ix86_libcall_value, ix86_value_regno): Remove.
(setup_incoming_varargs_64): Split out ...
(ix86_setup_incoming_varargs): ... from here.
(ix86_va_start): Remove TARGET_DEBUG_ARG.
(legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR.
* config/i386/i386-protos.h (ix86_function_value): Remove.
* config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove.
From-SVN: r123146
GCC Administrator [Fri, 23 Mar 2007 00:17:46 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r123142
Jerry DeLisle [Fri, 23 Mar 2007 00:13:19 +0000 (00:13 +0000)]
re PR libfortran/31052 ([4.2 only] Bad IOSTAT values when readings NAMELISTs past EOF)
2007-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31052
* file_pos.c: Update Copyright year.
* io/open.c (test_endfile): Restore test_endfile to fix SPEC regression.
Update Copyright year.
* io/io.h: Same.
* io/unix.c (is_special): Add missing type for this function.
Update Copyright year.
* io/transfer.c (next_record_r): Restore test_endfile.
(st_read): Fix whitespace. Update Copyright year
From-SVN: r123139
David Daney [Fri, 23 Mar 2007 00:06:41 +0000 (00:06 +0000)]
re PR libgcj/31228 (Race condition between setting close-on-exec and Runtime.exec())
PR libgcj/31228
* configure.ac: Add checks for getrlimit and sys/resource.h.
* include/posix.h (_Jv_platform_close_on_exec): Remove.
* include/config.h.in: Regenerate.
* configure: Regenerate.
* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
_Jv_platform_close_on_exec;
* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
(accept): Likewise.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
* java/lang/natPosixProcess.cc: Include sys/resource.h.
(nativeSpawn): Close all file descriptors. Don't set FD_CLOEXEC on
pipes.
From-SVN: r123138
Manuel López-Ibáñez [Thu, 22 Mar 2007 23:04:24 +0000 (23:04 +0000)]
re PR other/23572 (No warning for assigning a value to a 'float' variable that overflows with option -Wextra)
2007-03-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR other/23572
* c-lex.c (interpret_float): On overflow, emit pedantic warning if
infinities not supported, otherwise emit warning if -Woverflow. On
underflow, emit warning if -Woverflow.
* real.c (real_from_string): Return -1 if underflow, +1 if overflow
and 0 otherwise.
* real.h (real_from_string): Update declaration
testsuite/
* gcc.dg/float-range-4.c: New.
* gcc.dg/float-range-1.c: Update. Test for a warning.
* gcc.dg/float-range-3.c: New.
* gcc.dg/float-range-5.c: New.
From-SVN: r123137
Francois-Xavier Coudert [Thu, 22 Mar 2007 22:51:50 +0000 (23:51 +0100)]
re PR fortran/31262 (-fno-range-check with large integer values triggers ICE)
PR fortran/31262
* trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
larger than twice the width of a HOST_WIDE_INT.
* gfortran.dg/no_range_check_1.f90: New test.
From-SVN: r123136
Kai Tietz [Thu, 22 Mar 2007 21:33:45 +0000 (21:33 +0000)]
defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
* defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
* calls.c (compute_argument_block_size, expand_call,
emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE.
* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
* function.c (STACK_DYNAMIC_OFFSET): Likewise.
* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update.
* config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h,
config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h,
config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h,
config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE):
Set to 1.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r123135
Joseph Myers [Thu, 22 Mar 2007 20:38:27 +0000 (20:38 +0000)]
c-incpath.c (add_sysroot_to_chain): New.
* c-incpath.c (add_sysroot_to_chain): New.
(merge_include_chains): Add sysroot argument. Call
add_sysroot_to_chain if sysrooted.
(register_include_chains): Update call to merge_include_chains.
* doc/cppopts.texi: Document use of '=' in include directory
arguments.
From-SVN: r123134
Dirk Mueller [Thu, 22 Mar 2007 19:46:16 +0000 (19:46 +0000)]
Fix typos in ChangeLog
From-SVN: r123133
Dirk Mueller [Thu, 22 Mar 2007 19:44:09 +0000 (19:44 +0000)]
warnings2.C: Don't use -pedantic.
2007-03-22 Dirk Mueller <dmueller@suse.de>
* g++.old-deja/g++.brendan/warnings2.C: Don't use -pedantic.
* g++.dg/other/static1.C: Remove stray semicolon.
* g++.dg/other/init1.C: Likewise.
* g++.dg/rtti/dyncast1.C: Likewise.
* g++.dg/tree-ssa/pr17153.C: Likewise.
* g++.dg/lookup/disamb1.C: Likewise.
* g++.dg/lookup/scoped2.C: Likewise.
* g++.dg/lookup/friend7.C: Likewise.
* g++.dg/parse/parse4.C: Likewise.
* g++.dg/parse/parse5.C: Likewise.
* g++.dg/expr/pr29066.C: Likewise.
* g++.dg/expr/cast4.C: Likewise.
* g++.dg/tc1/dr193.C: Likewise.
* g++.dg/tc1/dr213.C: Likewise.
* g++.dg/abi/dcast1.C: Likewise.
* g++.dg/abi/covariant2.C: Likewise.
* g++.dg/inherit/covariant11.C: Likewise.
* g++.dg/inherit/covariant9.C: Likewise.
* g++.dg/inherit/covariant10.C: Likewise.
* g++.dg/init/static3.C: Likewise.
* g++.dg/init/init-ref3.C: Likewise.
* g++.dg/init/ref10.C: Likewise.
* g++.dg/template/meminit2.C: Likewise.
* g++.dg/template/using9.C: Likewise.
* g++.dg/template/friend9.C: Likewise.
* g++.dg/template/ref1.C: Likewise.
* g++.old-deja/g++.warn/inline.C: Likewise.
* g++.old-deja/g++.robertl/eb91.C: Likewise.
* g++.old-deja/g++.robertl/eb46.C: Likewise.
* g++.old-deja/g++.robertl/eb34.C: Likewise.
* g++.old-deja/g++.robertl/eb43.C: Likewise.
* g++.old-deja/g++.robertl/eb26.C: Likewise.
* g++.old-deja/g++.robertl/eb116.C: Likewise.
* g++.old-deja/g++.brendan/copy5.C: Likewise.
* g++.old-deja/g++.brendan/overload8.C: Likewise.
* g++.old-deja/g++.brendan/overload11.C: Likewise.
* g++.old-deja/g++.brendan/copy7.C: Likewise.
* g++.old-deja/g++.brendan/crash38.C: Likewise.
* g++.old-deja/g++.brendan/template11.C: Likewise.
* g++.old-deja/g++.brendan/err-msg3.C: Likewise.
* g++.old-deja/g++.brendan/crash50.C: Likewise.
* g++.old-deja/g++.brendan/crash16.C: Likewise.
* g++.old-deja/g++.jason/pmem2.C: Likewise.
* g++.old-deja/g++.jason/parse9.C: Likewise.
* g++.old-deja/g++.jason/byval2.C: Likewise.
* g++.old-deja/g++.jason/overload8.C: Likewise.
* g++.old-deja/g++.jason/pmf8.C: Likewise.
* g++.old-deja/g++.jason/template33.C: Likewise.
* g++.old-deja/g++.jason/return3.C: Likewise.
* g++.old-deja/g++.jason/scoping2.C: Likewise.
* g++.old-deja/g++.jason/virtual.C: Likewise.
* g++.old-deja/g++.jason/opeq3.C: Likewise.
* g++.old-deja/g++.jason/template27.C: Likewise.
* g++.old-deja/g++.jason/synth6.C: Likewise.
* g++.old-deja/g++.jason/ref8.C: Likewise.
* g++.old-deja/g++.jason/offset1.C: Likewise.
* g++.old-deja/g++.other/static20.C: Likewise.
* g++.old-deja/g++.other/array1.C: Likewise.
* g++.old-deja/g++.other/new3.C: Likewise.
* g++.old-deja/g++.other/array2.C: Likewise.
* g++.old-deja/g++.other/overload9.C: Likewise.
* g++.old-deja/g++.other/cast6.C: Likewise.
* g++.old-deja/g++.other/ptrmem8.C: Likewise.
* g++.old-deja/g++.other/eh4.C: Likewise.
* g++.old-deja/g++.other/using7.C: Likewise.
* g++.old-deja/g++.other/init18.C: Likewise.
* g++.old-deja/g++.other/dyncast1.C: Likewise.
* g++.old-deja/g++.other/dyncast2.C: Likewise.
* g++.old-deja/g++.other/dtor11.C: Likewise.
* g++.old-deja/g++.pt/static11.C: Likewise.
* g++.old-deja/g++.pt/crash19.C: Likewise.
* g++.old-deja/g++.pt/overload12.C: Likewise.
* g++.old-deja/g++.pt/crash46.C: Likewise.
* g++.old-deja/g++.pt/mi1.C: Likewise.
* g++.old-deja/g++.pt/vaarg3.C: Likewise.
* g++.old-deja/g++.pt/nontype5.C: Likewise.
* g++.old-deja/g++.pt/local5.C: Likewise.
* g++.old-deja/g++.pt/typename2.C: Likewise.
* g++.old-deja/g++.pt/explicit80.C: Likewise.
* g++.old-deja/g++.pt/auto_ptr.C: Likewise.
* g++.old-deja/g++.law/visibility1.C: Likewise.
* g++.old-deja/g++.law/visibility2.C: Likewise.
* g++.old-deja/g++.law/virtual2.C: Likewise.
* g++.old-deja/g++.law/operators19.C: Likewise.
* g++.old-deja/g++.law/parsing10.C: Likewise.
* g++.old-deja/g++.law/visibility4.C: Likewise.
* g++.old-deja/g++.law/operators4.C: Likewise.
* g++.old-deja/g++.law/dtors2.C: Likewise.
* g++.old-deja/g++.law/missed-error3.C: Likewise.
* g++.old-deja/g++.law/visibility10.C: Likewise.
* g++.old-deja/g++.law/scope3.C: Likewise.
* g++.old-deja/g++.law/casts2.C: Likewise.
* g++.old-deja/g++.law/code-gen5.C: Likewise.
* g++.old-deja/g++.law/operators33.C: Likewise.
* g++.old-deja/g++.law/friend4.C: Likewise.
* g++.old-deja/g++.mike/pmf7.C: Likewise.
* g++.old-deja/g++.mike/p5611.C: Likewise.
* g++.old-deja/g++.mike/net37.C: Likewise.
* g++.old-deja/g++.mike/p3570.C: Likewise.
* g++.old-deja/g++.mike/p5718.C: Likewise.
* g++.old-deja/g++.mike/net21.C: Likewise.
* g++.old-deja/g++.mike/p1862.C: Likewise.
* g++.old-deja/g++.mike/p4511.C: Likewise.
* g++.old-deja/g++.mike/virt3.C: Likewise.
* g++.old-deja/g++.mike/p16146.C: Likewise.
* g++.old-deja/g++.mike/p1989.C: Likewise.
* g++.old-deja/g++.mike/p5571.C: Likewise.
* g++.old-deja/g++.gb/scope10.C: Likewise.
* g++.old-deja/g++.abi/primary5.C: Likewise.
* g++.old-deja/g++.abi/empty2.C: Likewise.
* g++.old-deja/g++.abi/arraynew.C: Likewise.
* g++.old-deja/g++.eh/vbase4.C: Likewise.
* g++.old-deja/g++.eh/ptr1.C: Likewise.
* g++.old-deja/g++.eh/cleanup1.C: Likewise.
* g++.old-deja/g++.bob/template3.C: Likewise.
* g++.old-deja/g++.bob/inherit1.C: Likewise.
From-SVN: r123132
Paul Thomas [Thu, 22 Mar 2007 18:37:16 +0000 (18:37 +0000)]
re PR fortran/31193 ([4.2 only] ICE on non-constant character tranfert)
2006-03-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31193
* trans-intrinsic.c (gfc_size_in_bytes): Remove function.
(gfc_conv_intrinsic_array_transfer): Remove calls to previous.
Explicitly extract TREE_TYPEs for source and mold. Use these
to calculate length of source and mold, except for characters,
where the se string_length is used. For mold, the TREE_TYPE is
recalculated using gfc_get_character_type_len so that the
result is correctly cast for character literals and substrings.
Do not use gfc_typenode_for_spec for the final cast.
2006-03-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31193
* gfortran.dg/transfer_array_intrinsic_3.f90: New test.
From-SVN: r123131
Benjamin Kosnik [Thu, 22 Mar 2007 16:43:41 +0000 (16:43 +0000)]
functions_std.cc: Without C99 support, _GLIBCXX_USE_WCHAR_T not defined, so dg-require-c-std.
2007-03-22 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/21_strings/headers/cstdlib/functions_std.cc: Without
C99 support, _GLIBCXX_USE_WCHAR_T not defined, so
dg-require-c-std.
* testsuite/tr1/6_containers/headers/functional/synopsis.cc: Same.
* testsuite/27_io/headers/iostream/synopsis.cc: Same.
* testsuite/27_io/headers/streambuf/types_std.cc: Same.
* testsuite/27_io/headers/sstream/types_std.cc: Same.
* testsuite/27_io/headers/ostream/types_std.cc: Same.
* testsuite/27_io/headers/istream/types_std.cc: Same.
* testsuite/27_io/headers/iostream/types_std.cc: Same.
* testsuite/27_io/headers/fstream/types_std.cc: Same.
* testsuite/21_strings/headers/string/types_std.cc: Same.
* testsuite/21_strings/headers/cwctype/functions_std.cc: Same.
* testsuite/21_strings/headers/cwctype/types_std.cc: Same.
* testsuite/21_strings/headers/cwchar/functions_std.cc: Same.
* testsuite/21_strings/headers/cwchar/types_std.cc: Same.
* include/Makefile.am (c_compatibility_headers): Add fenv.h.
* include/Makefile.in: Regenerate.
* configure.host: Update comment.
From-SVN: r123130
Tobias Schlüter [Thu, 22 Mar 2007 15:37:25 +0000 (16:37 +0100)]
re PR fortran/20897 (derived type name shall not be same as intrinsic type name)
PR fortran/20897
fortran/
* decl.c (gfc_match_derived_decl): Reliably reject
'doubleprecision' and 'doublecomplex' as type names.
testsuite/
* gfortran.dg/derived_name_1.f90: New.
* gfortran.dg/derived_name_2.f: New.
From-SVN: r123129
Uros Bizjak [Thu, 22 Mar 2007 14:59:10 +0000 (15:59 +0100)]
i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P.
(*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize
insn pattern using X87MODEF12 mode macro.
From-SVN: r123128
Nathan Froyd [Thu, 22 Mar 2007 13:01:07 +0000 (13:01 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r123126
Uros Bizjak [Thu, 22 Mar 2007 07:00:08 +0000 (08:00 +0100)]
default.exp: New file.
* testsuite/config/default.exp: New file.
* testsuite/lib/libgomp.exp: New file.
* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
load_lib *, load_gcc_lib *): Move to libgomp.exp.
(libgomp_load): Remove.
* testsuite/lib/libgomp.exp (libgomp_init): Compute
always_ld_library_path, not ld_library_path. Set additional_flags
to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
(target_compile): Do not call libgomp_init. Append lang_library_path
and lang_link_flags to options.
* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
here.
* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
always_ld_library_path. Set LD_LIBRARY_PATH here.
* testsuite/libgomp.fortran/fortran.exp: Ditto.
* testsuite/libgomp.c/atomic-1.c: Set dg-options to
"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
CX8 flag.
* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
* testsuite/libgomp.c/pr29947-1.c: Ditto.
* testsuite/libgomp.c/atomic-10.c: Ditto.
From-SVN: r123125
Seongbae Park [Thu, 22 Mar 2007 06:18:33 +0000 (06:18 +0000)]
regmove.c (regmove_optimize): Use reg_mentioned_p instead of reg_overlap_mentioned_p for DST.
2007-03-21 Seongbae Park <seongbae.park@gmail.com>
* regmove.c (regmove_optimize): Use reg_mentioned_p
instead of reg_overlap_mentioned_p for DST.
From-SVN: r123124
GCC Administrator [Thu, 22 Mar 2007 00:17:55 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r123122
Richard Sandiford [Wed, 21 Mar 2007 20:09:15 +0000 (20:09 +0000)]
configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix m4 quoting of glob.
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix m4 quoting
of glob. Quote arguments with single quotes too.
* configure: Regenerate.
From-SVN: r123117
Jakub Jelinek [Wed, 21 Mar 2007 19:43:14 +0000 (20:43 +0100)]
a.22.8.f90: Add dg-final cleanup-modules line.
* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
dg-final cleanup-modules line.
* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
* testsuite/libgomp.fortran/reduction5.f90: Likewise.
* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
From-SVN: r123116
Mike Stump [Wed, 21 Mar 2007 18:45:40 +0000 (18:45 +0000)]
* c.opt: Fixup for Objective-C/C++.
From-SVN: r123114
Steve Ellcey [Wed, 21 Mar 2007 16:02:32 +0000 (16:02 +0000)]
explow.c (convert_memory_address): Fold memory reference when POINTERS_EXTEND_UNSIGNED < 0
* explow.c (convert_memory_address): Fold memory reference when
POINTERS_EXTEND_UNSIGNED < 0
From-SVN: r123113
Richard Henderson [Wed, 21 Mar 2007 15:52:23 +0000 (08:52 -0700)]
re PR target/31245 (SSE2 generation bug with 4.1.2 and -O3)
PR target/31245
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
* config/i386/mmintrin.h (__m64): Likewise.
* config/i386/xmmintrin.h (__m128): Likewise.
From-SVN: r123112
Richard Sandiford [Wed, 21 Mar 2007 12:21:33 +0000 (12:21 +0000)]
vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
gcc/
* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
(VXWORKS_OS_CPP_BUILTINS): Define.
* config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into...
(TARGET_OS_CPP_BUILTINS): ...here. Use VXWORKS_OS_CPP_BUILTINS.
From-SVN: r123108
Richard Sandiford [Wed, 21 Mar 2007 09:11:25 +0000 (09:11 +0000)]
target-supports.exp (check_effective_target_nonpic): New procedure.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_nonpic): New
procedure.
* gcc.target/i386/
20020616-1.c: Use an alternative to %ebx
when compiling PIC.
* gcc.target/i386/asm-4.c: Require nonpic.
* gcc.target/i386/cmov1.c: Likewise.
* gcc.target/i386/mul.c: Likewise.
* gcc.target/i386/pr21291.c: Require nonpic or ! ilp32.
* gcc.target/i386/ssetype-1.c: Require nonpic.
* gcc.target/i386/ssetype-3.c: Likewise.
* gcc.target/i386/ssetype-5.c: Likewise.
From-SVN: r123107