Commit Graph

64518 Commits

Author SHA1 Message Date
Tobias Schlüter 172b87995c re PR fortran/18993 (incorrect parsing in fixed-form)
fortran/
PR fortran/18993
* match.c (gfc_match_if): Don't explicitly skip optional whitespace.
(gfc_match_nullify): Make sure that ')' is in front of the end of
statement.

testsuite/
PR fortran/18993
* gfotran.dg/nullify_1.f: New test.

From-SVN: r92209
2004-12-15 19:55:57 +01:00
Vladimir Makarov 7cbeffe2fb PR middle end/17340
2004-12-15  Vladimir Makarov  <vmakarov@redhat.com>
            Steven Bosscher  <stevenb@suse.de>
	PR middle end/17340

	* global.c: Update comments in a few places.
	(check_earlyclobber): Return true if there are early clobber
	classes.
        (calculate_local_reg_bb_info): Do not try to mark earlyclobber
	regs if there are none.
	(bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
	make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
	live_pavout.
	(modify_bb_reg_pav): Remove.
	(calculate_reg_pav): Use code from modify_bb_reg_pav.
	(temp_bitmap): New variable.
	(calculate_reg_pav): Allocate/deallocate temp_bitmap.

Co-Authored-By: Steven Bosscher <stevenb@suse.de>

From-SVN: r92206
2004-12-15 17:59:51 +00:00
Richard Henderson dcbca208a3 re PR target/19010 (sse and mmx parameter passing broken)
PR target/19010
        * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
        for TImode vectors.
        (gen_reg_or_parallel): New.
        (function_arg): Use it.
        (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
        MMX and 3DNOW separately.
        (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
        (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
        * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
        (VALID_SSE_REG_MODE): ... here.

        * gcc.target/i386/i386.exp: New harness.
        * gcc.target/i386/vect-args.c: New.

From-SVN: r92205
2004-12-15 09:41:58 -08:00
David Edelsohn 4586c5575b * xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
From-SVN: r92202
2004-12-15 11:01:55 -05:00
David Edelsohn a0f7568c04 * gcc.dg/20040813-1.c: Skip for *-*-aix*.
From-SVN: r92201
2004-12-15 10:54:48 -05:00
Kriang Lerdsuwanakij 6e432b319e re PR c++/18825 (ICE segmentation fault in wv2)
PR c++/18825
	* pt.c (instantiate_class_template): Set input_location for
	friend function.
	(tsubst_friend_function): Don't set input_location here.
	Make sure the context is complete if necessary.

	* g++.dg/template/friend32.C: New test.

From-SVN: r92200
2004-12-15 15:21:11 +00:00
Ian Lance Taylor 06d5588c56 arm.c (arm_xscale_rtx_costs): Increase cost of COMPARE of MULT.
* config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
	COMPARE of MULT.
	* config/arm/arm.md (mulsi3_compare0): Don't check
	arm_arch_xscale.
	(mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
	(mulsi3addsi_compare0_scratch): Likewise.

From-SVN: r92199
2004-12-15 14:03:58 +00:00
Eric Botcazou 9593d79ac2 Add missing entry.
From-SVN: r92196
2004-12-15 13:37:31 +00:00
Eric Botcazou 1b449375c5 re PR preprocessor/15167 (Internal compiler error with "#pragma once")
PR preprocessor/15167
	* files.c (destroy_cpp_file): New function.
	(should_stack_file): Make a new file if the
	compared file is still stacked.

From-SVN: r92194
2004-12-15 13:31:28 +00:00
Bud Davis c8c83c1828 re PR libfortran/17597 (list directed read has error)
2004-12-15  Bud Davis  <bdavis9659@comcast.net>
            Steven G. Kargl  <kargls@comcast.net>

        PR fortran/17597
        * io/list_read.c (read_real): do not push back a comma when
        it delimits a real value without a decimal point


2004-12-15  Bud Davis  <bdavis9659@comcast.net>
            Steven G. Kargle  <kargls@comcast.net>

        PR fortran/17597
        * gfortran.dg/list_read_3.f90: New test.

Co-Authored-By: Steven G. Kargl <kargls@comcast.net>
Co-Authored-By: Steven G. Kargl <kargls@comcast.net>

From-SVN: r92190
2004-12-15 12:42:39 +00:00
Eric Botcazou 0aec601466 re PR other/18665 (-ftrapv borks up simple integer arithmetic)
PR other/18665
	* libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
	Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
	* libgcc2.c (__addvsi3): Rename to __addvSI3.
	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	(__addvdi3): Rename to __addvDI3.
	(__subvsi3): Rename to __subvSI3.  Use word type for the result.
	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	(__subvdi3): Rename to __subvDI3.
	(_mulvsi3): Rename to _mulvSI3.
	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	(_mulvdi3): Rename to _mulvDI3.
	(__negvsi2): Rename to __negvSI2.
	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	(__negvdi2): Rename to __negvDI2.
	(__absvsi2): Rename to __absvSI2.
	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	(__absvdi2): Rename to __absvDI2.
	* libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	(__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
	__addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
	symbol and declare.
	(__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
	COMPAT_SIMODE_TRAPPING_ARITHMETIC.

From-SVN: r92187
2004-12-15 12:30:46 +00:00
Kazuhiro Inaoka c331bf0802 config/m32r.c (m32r_legitimize_pic_address): Changed to support GOTOFF relocation.
config/m32r.c  (m32r_legitimize_pic_address): Changed to support GOTOFF
               relocation.
config/m32r.md (UNSPEC_GOTOFF): New.
               (gotoff_load_addr): New.

From-SVN: r92186
2004-12-15 12:13:07 +00:00
Kazuhiro Inaoka 2594119414 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
From-SVN: r92185
2004-12-15 11:53:44 +00:00
Nathan Sidwell fe4c6b8feb re PR c++/18981 (ICE in cp_parser_lookup_name)
cp:
	PR c++/18981
	* parser.c (cp_parser_lookup_name): Remove unneeded TYPENAME_TYPE
	flag setting.
testsuite:
	PR 18981
	* g++.dg/template/typename9.C: New test.

From-SVN: r92184
2004-12-15 10:25:14 +00:00
Richard Sandiford eef5d0d1b9 mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to decide whether an argument is double-word aligned.
* config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
	decide whether an argument is double-word aligned.

From-SVN: r92182
2004-12-15 08:55:05 +00:00
Richard Henderson 0022b96acb * config/i386/i386.md: Fix missing modes on cmove splitters.
From-SVN: r92180
2004-12-14 23:59:34 -08:00
Jan Beulich 92f51df70f mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
gcc/
2004-12-15 Jan Beulich  <jbeulich@novell.com>
	* mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.

From-SVN: r92179
2004-12-15 07:43:48 +00:00
Uros Bizjak da8947b0cc * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
*floatsisf2_i387, *floatsisf2_sse, floatdisf2,
	*floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
	floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
	floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
	*floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
	Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
	TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
	(*float?i?f_i387): Rename to *float?i?f2_mixed.
	(*float?i?f2_1): Rename to *float?i?f2_i387.
	(*float?i?f2_i387_only): Rename to *float?i?f2_i387.
	(float?ixf2): Penalize integer register operand.

From-SVN: r92178
2004-12-15 07:54:53 +01:00
John David Anglin e41f3691b9 re PR c++/17242 (Testsuite fails due to duplicate symbols)
PR c++/17242
	* configure.ac: Add GAS check for HP-UX .nsubspa comdat.
	* configure, config.in: Rebuilt.
	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
	defines.
	* config/pa/pa.c (pa_select_section): Allow uninitialized variables in
	one-only (comdat) subspaces.
	* config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
	(SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
	true.
	(MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.

From-SVN: r92177
2004-12-15 05:10:57 +00:00
Richard Henderson 6b25a558d7 gfortran.h (gfc_expr.function.name): Make const.
* gfortran.h (gfc_expr.function.name): Make const.
        (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
        (gfc_get_string): Update prototype.
        * iresolve.c: Include tree.h.
        (string_node, HASH_SIZE, string_head, hash): Remove.
        (gfc_get_string): Use vsnprintf, get_identifier.
        (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
        * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
        (gfc_done_1): Don't call gfc_iresolve_done_1.
        * module.c (mio_allocated_string): Take and return const char *,
        instead of modifying char**.
        (mio_expr): Update to match.
        * resolve.c (pure_function): Constify name argument.
        (resolve_function): Constify name.
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.

From-SVN: r92176
2004-12-14 19:56:06 -08:00
Ian Lance Taylor 6bd26f0bee combine.c (combine_validate_cost): Consider cost of undobuf.other_insn rather than always allowing the...
* combine.c (combine_validate_cost): Consider cost of
	undobuf.other_insn rather than always allowing the recombination
	if it is set.

From-SVN: r92173
2004-12-15 01:02:55 +00:00
Mark Mitchell 0c88d88668 re PR c++/18738 (typename not allowed with non-dependent qualified name)
PR c++/18738
	* decl.c (make_typename_type): Do not handle namespace-scoped
	names here.
	(tag_name): Handle typename_type.
	(check_elaborated_type_specifier): Handle typenames.
	* parser.c (cp_parser_diagnose_invalid_type_name): Improve
	comment.
	(cp_parser_elaborated_type_specifier): Use
	cp_parser_diagnose_invalid_type_name.

	PR c++/18738
	* g++.dg/template/typename8.C: New test.
	* g++.dg/parse/friend2.C: Tweak error message.

From-SVN: r92172
2004-12-15 00:42:33 +00:00
GCC Administrator a150cb057b Daily bump.
From-SVN: r92170
2004-12-15 00:16:21 +00:00
John David Anglin b3e30ec043 pa-host.c (MAP_FAILED): Define if not defined.
* pa-host.c (MAP_FAILED): Define if not defined.
	(pa_gt_pch_use_address): Handle short reads.

From-SVN: r92166
2004-12-14 22:48:53 +00:00
Richard Henderson 7cacf53e50 re PR target/17990 (sse used for negate without -mfpmath=sse)
PR target/17990
        * config/i386/i386.c (x86_use_bt): New.
        (ix86_expand_unary_operator): Use MEM_P.
        (ix86_expand_fp_absneg_operator): New.
        * config/i386/i386.h (x86_use_bt): Declare.
        (TARGET_USE_BT): New.
        * config/i386/i386-protos.h: Update.
        * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
        (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
        (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
        negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
        abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
        absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
        (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
        absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New.  Merge all
        neg and abs splitters.  Handle DFmode in general regs in 64-bit mode.
        (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
        (btsq, btrq, btcq): New.  Add peepholes as well.
        (movv4sf_internal splitter): Postpone til after reload.
        (movv2di_internal splitter): Likewise.
        * config/i386/predicates.md (const_0_to_63_operand): New.
        (absneg_operator): New.

From-SVN: r92165
2004-12-14 14:45:28 -08:00
John David Anglin 6af713e46c pa.h (REGNO_OK_FOR_INDEX_P, [...]): Check register number and that reg_renumber is nonzero before using it.
* pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
	Check register number and that reg_renumber is nonzero before using it.

From-SVN: r92164
2004-12-14 22:35:48 +00:00
Tobias Schlüter cf77e601e5 Fix date on ChangeLog
From-SVN: r92163
2004-12-14 23:00:54 +01:00
Steve Ellcey 28b43def5a invoke.texi (IA-64 options): Add existing options that weren't already listed.
* doc/invoke.texi (IA-64 options): Add existing options that
	weren't already listed.

From-SVN: r92162
2004-12-14 21:50:54 +00:00
Jeff Law c31d515429 20041214-1.c: New test.
* gcc.c-torture/execute/20041214-1.c: New test.

Actually commit 20041213-2.c (pr18694).

From-SVN: r92160
2004-12-14 13:29:12 -07:00
Andrew Pinski da708cc6f5 Forgot to add dg-do
From-SVN: r92159
2004-12-14 12:21:49 -08:00
Andrew Pinski b01f0d133b re PR middle-end/18965 (ICE in gimplify_init_ctor_eval)
2004-12-14  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/18965
        * init.c (build_zero_init): If the max_index is 0, there is no
        need to create a RANGE_EXPR.

2004-12-14  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/18965
        * g++.dg/init/array17.C: New test.

From-SVN: r92158
2004-12-14 12:13:16 -08:00
Jeff Law ff1c708e4a tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target partition to conflict_graph_merge_regs.
* tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
        partition to conflict_graph_merge_regs.

From-SVN: r92157
2004-12-14 13:05:48 -07:00
Mark Mitchell acb3f79a4a re PR c++/18793 (ICE in cp_expr_size)
PR c++/18793
	* cp-objcp-common.c (cp_expr_size): Loosen assertion.

	PR c++/18793
	* g++.dg/init/aggr3.C: New test.

From-SVN: r92156
2004-12-14 19:38:25 +00:00
Uttam Pawar f90ac3f0e4 rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors for vector types with invalid component types.
* rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
	for vector types with invalid component types.
testsuite:
	* gcc.dg/altivec-types-1.c: New test.
	* gcc.dg/altivec-types-2.c: New test.
	* gcc.dg/altivec-types-3.c: New test.
	* gcc.dg/altivec-types-4.c: New test.
	* g++.dg/ext/altivec-types-1.C: New test.
	* g++.dg/ext/altivec-types-2.C: New test.
	* g++.dg/ext/altivec-types-3.C: New test.
	* g++.dg/ext/altivec-types-4.C: New test.

Co-Authored-By: Janis Johnson <janis187@us.ibm.com>

From-SVN: r92154
2004-12-14 18:43:57 +00:00
Jakub Jelinek 29bfcb6de7 re PR middle-end/18951 (Invalid code generated by expand_errno_check)
PR middle-end/18951
	* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
	expand_builtin_mathfn_3): Avoid using arguments passed to
	save_expr after that call.

	* gcc.c-torture/execute/20041213-1.c: New test.

From-SVN: r92151
2004-12-14 19:04:56 +01:00
Jakub Jelinek 2a1a3cd51f fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend LOAD_EXTEND_OP is not defined.
* fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
	LOAD_EXTEND_OP is not defined.
	(fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.

From-SVN: r92150
2004-12-14 18:59:36 +01:00
Jeff Law 0a96f3c694 Remove >>> conflict indicator.
From-SVN: r92148
2004-12-14 10:46:11 -07:00
Kazu Hirata 0c690ca7af Forgot to commit yesterday.
From-SVN: r92147
2004-12-14 10:45:37 -07:00
Tobias Schlüter eee3fa4052 tree.def, [...]: Correctly document restrictions on the shift width.
2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

* tree.def, doc/c-tree.texi: Correctly document restrictions on the
shift width.

From-SVN: r92145
2004-12-14 18:24:46 +01:00
Tobias Schlüter e9de7779fb tree.def, [...]: Correctly document restrictions on the shift width.
2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

* tree.def, doc/c-tree.texi: Correctly document restrictions on the
shift width.

From-SVN: r92144
2004-12-14 18:19:37 +01:00
Steve Ellcey 0865674700 transfer.c (us_read): Use memcpy/memset instead of assignment to fill unaligned buffer.
* libgfortran/io/transfer.c (us_read): Use memcpy/memset
	instead of assignment to fill unaligned buffer.
	(us_write): Ditto.
	(next_record_w): Ditto.

From-SVN: r92143
2004-12-14 16:34:08 +00:00
Kazu Hirata 0cc1b87903 * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
From-SVN: r92140
2004-12-14 16:24:42 +00:00
Nathan Sidwell e8c66fe0e1 re PR c++/18949 (trouble with const_cast in templates)
cp:
	PR c++/18949
	* pt.c (tsubst_copy_and_build): <INDIRECT_REF case> Check that a
	REFERENCE_REF_P is dereferencing a reference type.
	* typeck.c (build_static_cast): Convert from reference even in a
	template.
	(build_reinterpret_cast, build_const_cast, build_c_cast): Likewise.
testsuite:
	PR c++/18949
	* g++.dg/template/cast1.C: New.

From-SVN: r92136
2004-12-14 15:39:12 +00:00
Richard Earnshaw 3a42aebe0b re PR target/18973 (-mcpu=arm926ejs should set FL_LDSCHED)
PR target/18973
arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
(arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
property to flags.

From-SVN: r92135
2004-12-14 14:06:02 +00:00
Diego Novillo 370d199d82 * tree-gimple.c (get_base_address): Update documentation.
From-SVN: r92134
2004-12-14 08:41:52 -05:00
Volker Reichelt 0b16f8f413 parser.c (cp_parser_uncommitted_to_tentative_parse_p): New function.
* parser.c (cp_parser_uncommitted_to_tentative_parse_p): New function.
	(cp_parser_name_lookup_error): Use it.
	(cp_parser_check_for_invalid_template_id): Likewise.
	(cp_parser_skip_to_closing_parenthesis): Likewise.
	(cp_parser_nested_name_specifier_opt): Likewise.
	(cp_parser_simple_declaration, cp_parser_template_id): Likewise.
	(cp_parser_parameter_declaration_list): Likewise.
	(cp_parser_parameter_declaration): Likewise.
	(cp_parser_template_name): Let cp_parser_simulate_error perform
	the checking.
	(cp_parser_committed_to_tentative_parse): Remove.

From-SVN: r92133
2004-12-14 13:32:03 +00:00
Steven G. Kargl 985791f6fe re PR libfortran/18966 (cshift etc. not implemented for kind=1 and kind=2 actual arguments)
PR libfortran/18966
        * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
        * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
        * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
        * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.

From-SVN: r92132
2004-12-14 10:43:36 +00:00
Richard Henderson 803140430a * gcc.dg/i386-sse-10.c: Fix typo in options.
From-SVN: r92128
2004-12-13 21:34:26 -08:00
Andrew Pinski 471a58a941 re PR c++/18968 (ICE: tree check: expected ssa_name, have addr_expr in vrp_hash)
2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/18968
        * g++.dg/opt/pr18968.C: New test.

2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/18968
        * class.c (build_base_path): Convert the zero constant to the correct
        type when comparing.

From-SVN: r92121
2004-12-13 18:21:56 -08:00
Mark Mitchell 532b37d9b8 re PR target/18925 (Invalid gprel relocation in PIC)
PR c++/18925
	* class.c (layout_class_type): Determine the visibility of static
	data members.

	PR c++/18925
	* g++.dg/ext/visibility/staticdatamem.C: New test.

From-SVN: r92120
2004-12-14 02:15:55 +00:00