Commit Graph

83498 Commits

Author SHA1 Message Date
GCC Administrator
1e74fb44cd Daily bump.
From-SVN: r128679
2007-09-23 00:17:14 +00:00
Francois-Xavier Coudert
ee07457bee re PR fortran/33528 (Wrong locations emitted with mapped locations and included files)
PR fortran/33528
	* scanner.c (preprocessor_line): Call linemap_add when exiting
	a file.
	(gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION.

From-SVN: r128676
2007-09-22 23:48:02 +00:00
Jakub Jelinek
b6efedac9d re PR c++/33496 (ICE with sizeof for invalid argument pack)
PR c++/33496
	* pt.c (tsubst_copy) <case SIZEOF_EXPR>: Handle error_mark_node
	returned from tsubst_pack_expansion.
	(tsubst_copy_and_build) <case SIZEOF_EXPR>: Likewise.
	(tsubst_copy_and_build) <case CONSTRUCTOR>: Likewise.

	* g++.dg/cpp0x/variadic76.C: New test.
	* g++.dg/cpp0x/variadic77.C: New test.
	* g++.dg/cpp0x/variadic78.C: New test.

From-SVN: r128675
2007-09-22 23:19:17 +02:00
Richard Sandiford
7dded683fd sourcebuild.texi: Document dg-add-options mips16_attribute.
gcc/
	* doc/sourcebuild.texi: Document dg-add-options mips16_attribute.

gcc/testsuite/
	* lib/target-supports.exp (add_options_for_mips16_attribute)
	(check_effective_target_mips16_attribute): New functions.
	* gcc.target/mips/mips.exp: Define MIPS16 and NOMIPS16 on the
	command line.
	(dg-mips-options) Remove -mno-mips16 handling.  Add options to
	extra_test_flags.
	* gcc.target/mips/asm-1.c (NOMIPS16): Delete.
	* gcc.target/mips/atomic-memory-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/atomic-memory-2.c (NOMIPS16): Likewise.
	* gcc.target/mips/branch-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/dspr2-MULT.c (NOMIPS16): Likewise.
	* gcc.target/mips/dspr2-MULTU.c (NOMIPS16): Likewise.
	* gcc.target/mips/fpcmp-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/fpcmp-2.c (NOMIPS16): Likewise.
	* gcc.target/mips/ins-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/madd-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/maddu-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/mips32-dsp-run.c (NOMIPS16): Likewise.
	* gcc.target/mips/mips32-dspr2-type.c (NOMIPS16): Likewise.
	* gcc.target/mips/msub-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/msubu-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/near-far-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/near-far-4.c (NOMIPS16): Likewise.
	* gcc.target/mips/neg-abs-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-lwxs.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-2.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-4.c (NOMIPS16): Likewise.
	* gcc.target/mips/pr26765.c: Use dg-mips-options instead of dg-options.
	(NOMIPS16): Delete.
	* gcc.target/mips/20020620-1.c: Use dg-mips-options instead
	of dg-options.
	* gcc.target/mips/call-saved-1.c: Remove -mips16 and -mno-abicalls
	options.  Require { target mips16_attribute } and use dg-add-options
	to add the associated options.
	(foo): Use MIPS16.
	* gcc.target/mips/call-saved-2.c: As for call-saved-1.c.
	* gcc.target/mips/call-saved-3.c: Likewise.
	* gcc.target/mips/code-readable-1.c: Require { target
	mips16_attribute } and use dg-add-options to add the associated
	options.  Remove trailing whitespace.
	(NOMIPS16): Delete.
	* gcc.target/mips/code-readable-2.c: Likewise.
	* gcc.target/mips/code-readable-3.c: Likewise.
	* gcc.target/mips/mips16-attributes-2.c: Likewise.
	* gcc.target/mips/mips16e-extends.c: Remove -mips16 option.
	Require { target mips16_attribute } and use dg-add-options to
	add the associated options.
	(cksum16, cksum8): Use MIPS16.
	* gcc.target/mips/save-restore-1.c: Remove -mips16 option.
	Require { target mips16_attribute } and use dg-add-options to
	add the associated options.
	(foo): Use MIPS16.
	* gcc.target/mips/save-restore-2.c: Likewise.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.  Also remove
	-mno-abicalls.
	* gcc.target/mips/mips-sched-madd.c: Remove -mno-mips16.
	(foo): Use NOMIPS16.

From-SVN: r128674
2007-09-22 20:10:52 +00:00
Francois-Xavier Coudert
d8eff1b8e4 re PR fortran/33522 (Incorrect warning messages about uninitialized variables)
PR fortran/33522
	* trans-types.c (gfc_get_desc_dim_type): Mark artificial
	variables with TREE_NO_WARNING.
	(gfc_get_array_descriptor_base): Likewise.

From-SVN: r128673
2007-09-22 16:54:56 +00:00
Paul Thomas
fdc55763b6 re PR fortran/33337 (ICE in gfc_finish_var_decl, at fortran/trans-decl.c:510)
2007-09-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33337
	PR fortran/33376
	* trans-decl.c (gfc_create_module_variable): Output
	derived type parameters.
	* arith.c (gfc_parentheses): Return the argument if
	it is a constant expression.
	* primary.c (gfc_match_rvalue): Remove the clearing of
	the module name and the use_assoc attribute for derived
	type parameter expressions.

2007-09-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33337
	* gfortran.dg/derived_comp_array_ref_3.f90: New test.

	PR fortran/33376
	* gfortran.dg/derived_comp_array_ref_4.f90: New test.

From-SVN: r128672
2007-09-22 15:46:41 +00:00
Francois-Xavier Coudert
a3b2d4e56c re PR fortran/33502 (gfortran with .F suffix and -g3 option chokes on preprocessor syntax)
PR fortran/33502
	* scanner.c (gfc_advance_line): Call debug_hooks->start_source_file
	and debug_hooks->end_source_file when entering and exiting
	included files.
	(gfc_define_undef_line): New function.
	(load_file): Ignore #define and #undef preprocessor lines
	while reading source files.
	* parse.c (next_statement): Handle #define and #undef
	preprocessor lines.
	(gfc_parse_file): Call debug_hooks->start_source_file and
	debug_hooks->end_source_file for the main source file if
	requested by the debug format.
	* gfortran.h (gfc_define_undef_line): Add prototype.

From-SVN: r128671
2007-09-22 15:03:24 +00:00
Tobias Burnus
9fa6cfec03 re PR fortran/33445 (Diagnose "!$OMP&" as an error in free format unless it is a continuation line)
2007-09-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33445
        * scanner.c (skip_free_comments): Warn if !$OMP& is used
        if no OpenMP directive is to be continued.

2007-09-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33445
        * gfortran.dg/gomp/free-2.f90: New.
        * gfortran.dg/gomp/appendix-a/a.31.1.f90: Add missing &.
        * gfortran.dg/gomp/omp_parse1.f90: Add dg-warning.

From-SVN: r128670
2007-09-22 16:20:57 +02:00
Eric Botcazou
b235734c76 utils2.c (build_unary_op): Propagate the TYPE_REF_CAN_ALIAS_ALL flag to the result.
* utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
	the TYPE_REF_CAN_ALIAS_ALL flag to the result.

From-SVN: r128669
2007-09-22 13:04:20 +00:00
Eric Botcazou
e1210bd06b tree-inline.c (remap_type_1): Correctly chain variants.
* tree-inline.c (remap_type_1): Correctly chain variants.

From-SVN: r128668
2007-09-22 12:31:22 +00:00
Uros Bizjak
57d471cf80 sse5-hadduX.c: Remove target selector.
* gcc.target/i386/sse5-hadduX.c: Remove target selector.
        * gcc.target/i386/sse5-haddX.c: Ditto.
        * gcc.target/i386/sse5-hsubX.c: Ditto.
        * gcc.target/i386/sse5-maccXX.c: Ditto.
        * gcc.target/i386/sse5-msubXX.c: Ditto.
        * gcc.target/i386/sse5-nmaccXX.c: Ditto.
        * gcc.target/i386/sse5-nmsubXX.c: Ditto.
        * gcc.target/i386/sse5-permpX.c: Ditto.
        * gcc.target/i386/sse5-fma.c: Remove target selector. Require lp64
        effective target.
        * gcc.target/i386/sse5-fma-vector.c: Ditto.
        * gcc.target/i386/sse5-ima-vector.c: Ditto.
        * gcc.target/i386/sse5-pcmov.c: Ditto.
        * gcc.target/i386/sse5-pcmov2.c: Ditto.

From-SVN: r128667
2007-09-22 12:16:07 +02:00
Richard Guenther
b9e67f8b4b re PR tree-optimization/33146 (ICE in build_polynomial_chrec, at tree-chrec.h:136)
2007-09-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33146
	* fold-const.c (fold_binary): Use the original tree
	for negating.
	* tree.h (STRIP_SIGN_NOPS): Converting from or to pointer
	also changes "sign".

	* gcc.c-torture/compile/pr33146.c: New testcase.

From-SVN: r128666
2007-09-22 09:39:41 +00:00
Eric Botcazou
8deb1d3134 re PR target/32325 (cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info)
PR target/32325
	* except.c (finish_eh_generation): Call commit_edge_insertions if
	there are insns queued on the entry edge.
	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns on
	the entry edge.

From-SVN: r128665
2007-09-22 08:42:57 +00:00
Richard Sandiford
1018b4c356 target-supports.exp (check_cached_effective_target): New procedure.
gcc/testsuite/
	* lib/target-supports.exp (check_cached_effective_target): New
	procedure.
	(check_no_compiler_messages, check_no_messages_and_pattern): Use it.
	(check_effective_target_c99_runtime): New procedure.
	* gcc.dg/builtins-20.c (test3f): Wrap cargf check in HAVE_C99_RUNTIME.
	(test3l): Likewise cargl.
	* gcc.dg/builtins-59.c: Require c99_runtime.
	* gcc.dg/builtins-61.c: Likewise.
	* gcc.dg/builtins-62.c: Likewise.

From-SVN: r128664
2007-09-22 08:26:50 +00:00
Richard Sandiford
db9a0df07f sourcebuild.texi (dg-add-c99-runtime-options): Document.
gcc/
	* doc/sourcebuild.texi (dg-add-c99-runtime-options): Document.

gcc/testsuite/
	* lib/target-supports.exp (add_options_for_c99_runtime): New procedure.
	* lib/target-supports-dg.exp (dg-add-options): Likewise.
	* gcc.dg/builtins-18.c: Use { dg-add-options c99_runtime } instead of
	target-specific dg-options.
	* gcc.dg/builtins-20.c: Likewise.
	* gcc.dg/builtins-53.c: Likewise.
	* gcc.dg/builtins-55.c: Likewise.
	* gcc.dg/single-precision-constant.c: Likewise.
	* gcc.dg/torture/builtin-convert-1.c: Likewise.
	* gcc.dg/torture/builtin-convert-2.c: Likewise.
	* gcc.dg/torture/builtin-convert-3.c: Likewise.
	* gcc.dg/torture/builtin-convert-4.c: Likewise.
	* gcc.dg/torture/builtin-power-1.c: Likewise.

From-SVN: r128663
2007-09-22 08:25:43 +00:00
Hans-Peter Nilsson
1733c7eb5b warn_summary (srcdirFilter): Add fixincludes, sim, newlib and mpfr.
* warn_summary (srcdirFilter): Add fixincludes, sim,
	newlib and mpfr.

From-SVN: r128662
2007-09-22 01:19:10 +00:00
Chao-ying Fu
fca8ed94a2 target-supports.exp (check_effective_target_fixed_point): New to check if targets have fixed-point supports.
* lib/target-supports.exp (check_effective_target_fixed_point): New to
	check if targets have fixed-point supports.
	* gcc.dg/fixed-point/fixed-point.exp: New file.
	* gcc.dg/fixed-point/addsub.c, gcc.dg/fixed-point/allconv.c,
	* gcc.dg/fixed-point/allop.c, gcc.dg/fixed-point/call-by-value.c,
	* gcc.dg/fixed-point/cast-bad.c, gcc.dg/fixed-point/composite-type.c,
	* gcc.dg/fixed-point/const-1.c, gcc.dg/fixed-point/constant.c,
	* gcc.dg/fixed-point/constants-pedantic.c,
	* gcc.dg/fixed-point/convert.c, gcc.dg/fixed-point/define.c,
	* gcc.dg/fixed-point/keywords-c89.c, gcc.dg/fixed-point/keywords-c99.c,
	* gcc.dg/fixed-point/keywords-ignored-c99.c,
	* gcc.dg/fixed-point/keywords-pedantic.c,
	* gcc.dg/fixed-point/keywords-reserved.c, gcc.dg/fixed-point/binary.c,
	* gcc.dg/fixed-point/modes.c, gcc.dg/fixed-point/noassoc.c,
	* gcc.dg/fixed-point/types.c, gcc.dg/fixed-point/typespec.c,
	* gcc.dg/fixed-point/unary.c, gcc.dg/fixed-point/func-array.c,
	* gcc.dg/fixed-point/func-scalar.c, gcc.dg/fixed-point/func-struct.c,
	* gcc.dg/fixed-point/func-vararg-mixed.c,
	* gcc.dg/fixed-point/operator-logical.c,
	* gcc.dg/fixed-point/struct-union.c,
	* gcc.dg/fixed-point/bit-complement.c,
	* gcc.dg/fixed-point/operator-bitwise.c,
	* gcc.dg/fixed-point/operator-comma.c,
	* gcc.dg/fixed-point/struct-layout-1.c,
	* gcc.dg/fixed-point/union-init.c,
	* gcc.dg/fixed-point/Wbad-function-cast-1.c,
	* gcc.dg/fixed-point/func-mixed.c,
	* gcc.dg/fixed-point/func-vararg-size0.c,
	* gcc.dg/fixed-point/func-vararg.c, gcc.dg/fixed-point/int-warning.c,
	* gcc.dg/fixed-point/loop-index.c, gcc.dg/fixed-point/operator-cond.c,
	* gcc.dg/fixed-point/operator-unary.c,
	* gcc.dg/fixed-point/allop-const.c,
	* gcc.dg/fixed-point/muldiv-warning.c,
	* gcc.dg/nofixed-point-1.c,
	* gcc.target/mips/dpaq_sa_l_w.c, gcc.target/mips/dpsq_sa_l_w.c,
	* gcc.target/mips/fixed-vector-type.c,
	* gcc.target/mips/fixed-scalar-type.c: New tests.

From-SVN: r128661
2007-09-22 00:27:56 +00:00
GCC Administrator
fca1a50fd9 Daily bump.
From-SVN: r128659
2007-09-22 00:17:10 +00:00
Seongbae Park
9d209c8314 MAINTAINERS (Write After Approval): Fix typo.
2007-09-21  Seongbae Park  <seongbae.park@gmail.com>

	* MAINTAINERS (Write After Approval): Fix typo.

From-SVN: r128655
2007-09-21 20:08:22 +00:00
Bernhard Fischer
b808ac33a9 re PR libfortran/31546 (add --enable-intermodule)
PR fortran/31546
	* (configure.ac): Add --enable-intermodule for onestep build.
	* (Makefile.am): Handle onestep build.
	* (configure, Makefile.in): Regenerate.

From-SVN: r128654
2007-09-21 19:49:34 +00:00
Michael Meissner
2fba4aaacb Commit forgotten ChangeLog entry
From-SVN: r128652
2007-09-21 17:55:33 +00:00
Paul Thomas
da6b49e17b trans-expr.c (gfc_trans_pointer_assignment): Convert array descriptor for subref pointer assignements...
2007-09-21  Paul Thomas  <pault@gcc.gnu.org>

	*trans-expr.c (gfc_trans_pointer_assignment): Convert array
	descriptor for subref pointer assignements, rather than using
	the loop info version.

From-SVN: r128651
2007-09-21 15:02:44 +00:00
Olivier Hainque
9723778490 utils.c (type_for_nonaliased_component_p): Return false for all AGGREGATE_TYPEs.
2007-09-21  Olivier Hainque  <hainque@adacore.com>

	ada/
        * utils.c (type_for_nonaliased_component_p): Return false for
        all AGGREGATE_TYPEs.

	testsuite/
        * gnat.dg/nested_subtype_byref.ad[bs]: Part of new test.
        * gnat.dg/test_nested_subtype_byref.adb: New test.

From-SVN: r128650
2007-09-21 14:14:45 +00:00
Jakub Jelinek
5bc31e4207 re PR fortran/33439 (OpenMP: Incorrect error message for chunksize variable)
PR fortran/33439
	* gfortran.dg/gomp/pr33439.f90: New test.

From-SVN: r128649
2007-09-21 13:17:13 +02:00
Francois-Xavier Coudert
b65d72ab86 re PR libfortran/26253 (fallback scalbn doesn't handle denormals correctly)
PR libfortran/26253
	* intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.

From-SVN: r128648
2007-09-21 10:54:20 +00:00
Tobias Burnus
90d3112688 re PR fortran/33455 (MERGE intrinsic: Check for same string lengths)
2007-09-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33455
        * check.c (check_same_strlen): New function.
        (gfc_check_merge): Use it.

2007-09-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33455
        * gfortran.dg/merge_char_3.f90: New.

From-SVN: r128647
2007-09-21 12:44:20 +02:00
Tobias Burnus
92ebaacd31 re PR fortran/33037 (TRANSFER should warn on mismatched sizes)
2007-09-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33037
        * simplify.c (gfc_simplify_transfer): Warn if source size
        is smaller than result size.

2007-09-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33037
        * gfortran.dg/transfer_check_1.f90: New.

From-SVN: r128646
2007-09-21 12:21:29 +02:00
Richard Guenther
91fe042485 re PR tree-optimization/33508 (tree struct aliasing goes into a loop marking call clobbers.)
2007-09-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33508
	* tree-ssa-alias.c (mark_aliases_call_clobbered): Avoid
	quadratic loop by keeping a bitmap of variables we have
	to clobber all subvariables for.
	(set_initial_properties): Likewise.

From-SVN: r128645
2007-09-21 09:36:52 +00:00
Richard Sandiford
6eed4bbf1d mt-sde (CFLAGS_FOR_TARGET): Replace -fno-optimize-sibling-calls with -minterlink-mips16.
config/
	* mt-sde (CFLAGS_FOR_TARGET): Replace -fno-optimize-sibling-calls
	with -minterlink-mips16.
	(CXXFLAGS_FOR_TARGET): Likewise.

gcc/
	* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Delete.

From-SVN: r128644
2007-09-21 07:33:31 +00:00
Asher Langton
51b09ce3d9 re PR fortran/20441 (-finit-local-zero is missing from gfortran)
PR fortran/20441
        * gfortran.h : Add init_local_* enums and init_flag_* flags to
	gfc_option_t.
	* lang.opt: Add -finit-local-zero, -finit-real, -finit-integer,
	-finit-character, and -finit-logical flags.
	* invoke.texi: Document new options.
	* resolve.c (build_init_assign): New function.
	(apply_init_assign): Move part of function into build_init_assign.
	(build_default_init_expr): Build local initializer (-finit-*).
	(apply_default_init_local): Apply local initializer (-finit-*).
	(resolve_fl_variable): Try to add local initializer (-finit-*).
	* options.c (gfc_init_options, gfc_handle_option,
	gfc_post_options): Handle -finit-local-zero, -finit-real,
	-finit-integer, -finit-character, and -finit-logical flags.

	PR fortran/20441
	* gfortran.dg/init_flag_1.f90: New.
	* gfortran.dg/init_flag_2.f90: New.
	* gfortran.dg/init_flag_3.f90: New.
	* gfortran.dg/init_flag_4.f90: New.
	* gfortran.dg/init_flag_5.f90: New.
	* gfortran.dg/init_flag_6.f90: New.
	* gfortran.dg/init_flag_7.f90: New.

From-SVN: r128643
2007-09-21 02:34:14 +00:00
Nigel Stephens
819fec0023 c-decl.c (finish_declspecs): When _Sat is used without _Fract or _Accum, set the default type to cts_fract.
* c-decl.c (finish_declspecs): When _Sat is used without
	_Fract or _Accum, set the default type to cts_fract.
	This avoids a warning of "type defaults to int".

Co-Authored-By: Chao-ying Fu <fu@mips.com>

From-SVN: r128642
2007-09-21 00:50:37 +00:00
GCC Administrator
43c71fd353 Daily bump.
From-SVN: r128640
2007-09-21 00:17:19 +00:00
Paolo Carlini
24f58e7497 re PR c++/33460 (ICE with static member in anonymous union)
cp/
2007-09-20  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33460
	* semantics.c (finish_id_expression): Use consistently
	context_for_name_lookup.
	* decl.c (fixup_anonymous_aggr): Fix error message for
	anonymous struct (vs union).

testsuite/
2007-09-20  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33460
	* g++.dg/ext/anon-struct6.C: New.

From-SVN: r128637
2007-09-20 23:05:38 +00:00
Francois-Xavier Coudert
fe046210e2 re PR libfortran/23272 ([mingw32] inquire via filename fails)
PR libfortran/23272

	* io/unix.c (id_from_handle, id_from_path, id_from_fd): New
	functions.
	(compare_file_filename, find_file, find_file0): Use the new
	functions above.

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

From-SVN: r128636
2007-09-20 22:56:48 +00:00
Francois-Xavier Coudert
d36ff2b46b acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
* acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
	* configure.ac: Don't call LIBGFOR_TARGET_ILP32.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r128635
2007-09-20 22:43:39 +00:00
Joseph Myers
02668aba7e c-decl.c (check_bitfield_type_and_width): Don't allow _Bool bit-fields wider than one bit.
* c-decl.c (check_bitfield_type_and_width): Don't allow _Bool
	bit-fields wider than one bit.

testsuite:
	* gcc.dg/c99-bool-2.c, gcc.dg/c99-bool-3.c: New tests.

From-SVN: r128634
2007-09-20 23:15:07 +01:00
Francois-Xavier Coudert
9fa6b0af1f re PR fortran/33221 (Cannot declare variables of TYPE without components)
PR fortran/33221

	* gfortran.h (symbol_attribute): Add zero_comp field.
	* symbol.c (gfc_use_derived): Handle case of emtpy derived types.
	* decl.c (gfc_match_data_decl): Likewise.
	(gfc_match_derived_decl): Likewise.
	* module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member.
	(mio_symbol_attribute): Write and read AB_ZERO_COMP.
	* resolve.c (resolve_symbol): Handle case of emtpy derived types.
	* parse.c (parse_derived): Likewise.

	* gfortran.dg/used_types_18.f90: Declare variable of empty
	derived type.

From-SVN: r128633
2007-09-20 22:03:22 +00:00
Francois-Xavier Coudert
4f68f111df re PR fortran/33288 (ICE (segfault) in mpfr_cmp2 when evaluating array initializers containing addition)
PR fortran/33288

	* arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
	reduce_binary_aa): Call ourselves recursively if an element of
	the constructor is itself a constant array.

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

From-SVN: r128632
2007-09-20 21:58:23 +00:00
Jakub Jelinek
cc459ab40a re PR debug/33316 (ICE on valid variable-length automatic array in const struct)
PR debug/33316
	* dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
	DECL_NAME.
	* dbxout.c (dbxout_type): Likewise.

	* gcc.dg/debug/pr33316.c: New test.

From-SVN: r128631
2007-09-20 23:27:39 +02:00
Jakub Jelinek
4745e4eb75 re PR c++/33496 (ICE with sizeof for invalid argument pack)
PR c++/33496
	* pt.c (tsubst_copy) <case SIZEOF_EXPR>: Handle error_mark_node
	returned from tsubst_pack_expansion.
	(tsubst_copy_and_build) <case SIZEOF_EXPR>: Likewise.
	(tsubst_copy_and_build) <case CONSTRUCTOR>: Likewise.

	* g++.dg/cpp0x/variadic76.C: New test.
	* g++.dg/cpp0x/variadic77.C: New test.
	* g++.dg/cpp0x/variadic78.C: New test.

From-SVN: r128630
2007-09-20 23:21:03 +02:00
Jakub Jelinek
786025ea79 re PR c/33238 (ICE on statement expression using variable-sized structure in tree_low_cst, at tree.c:4502)
PR c/33238
	PR c/27301
	* gimplify.c (gimplify_vla_decl): New function.
	(gimplify_decl_expr): Move VLA decl handling to gimplify_vla_decl.
	Call it.
	(gimplify_target_expr): Handle variable length TARGET_EXPRs.

	* gcc.c-torture/execute/20070919-1.c: New test.
	* gcc.dg/pr33238.c: New test.
	* gcc.dg/pr27301.c: New test.

From-SVN: r128629
2007-09-20 23:19:36 +02:00
Richard Sandiford
334a954334 target-supports.exp (check_effective_target_mips64): New procedure.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_mips64): New
	procedure.
	* gcc.dg/lower-subreg-1.c: Require !mips64.
	* gcc.dg/sibcall-3.c (ATTR): New macro.
	(recurser_void1, recurser_void2): Use it.
	* gcc.dg/sibcall-4.c: As for gcc.dg/sibcall-3.c.
	* gcc.dg/tree-ssa/ssa-fre-3.c: Require !mips64.

From-SVN: r128626
2007-09-20 20:17:45 +00:00
Richard Sandiford
1ec3b87bb2 configure.ac (mipsisa*-*-elfoabi*): New stanza.
* configure.ac (mipsisa*-*-elfoabi*): New stanza.
	* configure: Regenerate.

config/
	* mt-mips-elfoabi: New file.

gcc/
	* doc/invoke.texi (-minterlink-mips16): Document.
	* config/mips/mips.opt (minterlink-mips16): New option.
	* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
	-minterlink-mips16

From-SVN: r128625
2007-09-20 20:01:34 +00:00
Tobias Schlüter
f25bf34f06 io.c (resolve_tag_format): New function using code split out and simplified from ...
fortran/
* io.c (resolve_tag_format): New function using code split out
and simplified from ...
(resolve_tag): ... this function.  Simplify logic.  Unify
IOSTAT, IOLENGTH and SIZE handling.
testsuite/
* gfortran.dg/g77/19981216-0.f: Remove dg-warning annotation.
* gfortran.dg/io_constraints_1.f90: Make a -std=f95 test.  Add
warning annotation.
* gfortran.dg/iostat_3.f90: Make a -std=f95 test.

From-SVN: r128623
2007-09-20 20:07:04 +02:00
Joseph Myers
770a995067 extend.texi (Attribute Syntax): Remove old speculative future direction.
* doc/extend.texi (Attribute Syntax): Remove old speculative
	future direction.

From-SVN: r128622
2007-09-20 16:55:33 +01:00
Jason Merrill
56d0c6e3f5 re PR c++/7586 (Incorrect handling of attributes in template codes)
PR c++/7586
        * pt.c (tsubst): Handle typedefs by looking for the specialization.
        (retrieve_specialization): Only tagged types use
        DECL_TEMPLATE_INSTANTIATIONS.
        (instantiate_class_template): Push nested classes too.
        (tsubst_decl) [TYPE_DECL]: Only check for canonical decl for
        tagged types.
        * cp-tree.h (MAYBE_TAGGED_TYPE_P): New macro.
        * init.c (is_aggr_type): Remove redundant tests.
        * class.c (push_nested_class): Use CLASS_TYPE_P.

From-SVN: r128621
2007-09-20 10:13:00 -04:00
Christopher D. Rickett
152315665e re PR fortran/33497 (Bind(C): C_LOC rejects interoperable arguments)
2007-09-20  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/33497
        * resolve.c (gfc_iso_c_func_interface): Use information from
        subcomponent if applicable.

2007-09-20  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/33497
        * gfortran.dg/c_loc_tests_11.f03: New test case.

From-SVN: r128620
2007-09-20 13:50:39 +02:00
Tobias Burnus
dcf6c255ca re PR fortran/33325 (Document intrinsic Fortran modules)
2007-09-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33325
        * intrinsic.text: Add documentation of the intrinsic modules.
        * gfortran.texi: Link to intrinsic-modules section and to
        the GOMP manual.

From-SVN: r128619
2007-09-20 13:28:12 +02:00
Mark Shinwell
7d4d28322f combine.c: Include cgraph.h.
gcc/
	* combine.c: Include cgraph.h.
	(setup_incoming_promotions): Rework to allow more aggressive
	elimination of sign extensions when all call sites of the
	current function are known to lie within the current unit.

From-SVN: r128618
2007-09-20 11:01:18 +00:00
Paul Jarc
19d5986dde re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++)
2007-09-20  Paul Jarc  <prj-bugzilla-gcc@multivac.cwru.edu>

	PR bootstrap/31906
	* libtool-ldflags: Don't prefix arguments with -Xcompiler if
        they're already prefixed.

From-SVN: r128617
2007-09-20 10:20:05 +00:00