Commit Graph

82292 Commits

Author SHA1 Message Date
Jerry DeLisle 0483c79f1f invoke.texi: Document -fsign-zero flag.
2007-07-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* invoke.texi: Document -fsign-zero flag.

From-SVN: r127051
2007-07-29 21:30:51 +00:00
Daniel Berlin 603802e743 Makefile.in (tree-ssa-alias.o): Add alloc-pool.h
2007-07-28  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in (tree-ssa-alias.o): Add alloc-pool.h

	* tree-ssa-alias.c: Add alloc-pool.h.
	(init_alias_info): Free alias_bitmap_obstack.
	(delete_alias_info): Call delete_mem_ref_stats.
	(get_mem_sym_stats_for): Use alloc_pool.
	(init_mem_ref_stats): Do not delete mem_ref_stats here.
	(delete_mem_sym_stats): Removed.

From-SVN: r127050
2007-07-29 20:53:29 +00:00
Thomas Koenig d8163f5cc0 re PR libfortran/32858 (printf-capabilities for runtime_error())
2007-07-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32858
	PR libfortran/30814
	* configure.ac:  Added checks for presence of stdio.h and
	stdarg.h.  Test presence of vsnprintf().
	* configure: Regenerated.
	* config.h.in:  Regenerated.
	* libgfortran.h:  Include <stdio.h>.  Add printf attribute to
	prototype of runtime_error.  Remove prototype for st_sprintf.
	Add prototype for st_vprintf.
	* runtime/main.c (store_exec_path):  Replace st_sprintf by sprintf.
	* runtime/error.c (st_sprintf):  Remove.
	(runtime_error):  Rewrite as a variadic function.  Call
	st_vprintf().
	* intrinsics/pack_generic.c:  Output extents of LHS and RHS for
	bounds error.
	* io/open.c (new_unit):  Replace st_sprintf by sprintf.
	* io/list_read.c (convert_integer):  Likewise.
	(parse_repeat):  Likewise.
	(read_logical):  Likewise.
	(read_character):  Likewise.
	(parse_real):  Likewise.
	(read_real):  Likewise.
	(check_type):  Likewise.
	(nml_parse_qualifyer):  Likewise.
	(nml_read_obj):  Likewise.
	(nml_get_ojb_data):  Likewise.
	* io/unix.c (init_error_stream):  Remove.
	(tempfile):  Replace st_sprintf by sprintf.
	(st_vprintf):  New function.
	(st_printf):  Rewrite to call st_vprintf.
	* io/transfer.c (require_type):  Replace st_sprintf by sprintf.
	* io/format.c (format_error):  Likewise.
	* io/write.c (nml_write_obj):  Likewise.

2007-07-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32858
	PR libfortran/30814
	* gfortran.dg/pack_bounds_1.f90:  Adjust to new error message.

From-SVN: r127049
2007-07-29 20:01:45 +00:00
Paul Thomas 6a56381bf7 re PR fortran/31211 (wrong code generated for pointer returning function as actual argument)
2007-07-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31211
	* trans-expr.c (gfc_conv_expr_reference): Add block for case of
	scalar pointer functions so that NULL result is correctly
	handled.

	PR fortran/32682
	*trans-array.c (gfc_trans_array_constructor): On detecting a
	multi-dimensional parameter array, set the loop limits.

2007-07-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31211
	* gfortran.dg/actual_pointer_function_1.f90: New test.

	PR fortran/32682
	* gfortran.dg/scalarize_parameter_array_1.f90: New test.

From-SVN: r127044
2007-07-29 14:44:03 +00:00
Daniel Franke c317bc4076 re PR fortran/32906 (Error: Parameter array ... cannot be automatic or assumed shape)
gcc/fortran:
2007-07-29  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/32906
	* resolve.c (resolve_fl_parameter): Check for constant shape arrays,
	adjusted error message.

gcc/testsuite:
2007-07-29  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/32906
	* gfortran.dg/shape_1.f90: Adjust error message.
	* gfortran.dg/parameter_array_ref_1.f90: New test.

From-SVN: r127043
2007-07-29 10:17:59 -04:00
Sebastian Pop b1e759547f tree-data-ref.c (add_multivariate_self_dist): Parametric access functions cannot be represented as classical distance vectors.
* tree-data-ref.c (add_multivariate_self_dist): Parametric access
	functions cannot be represented as classical distance vectors.

From-SVN: r127041
2007-07-29 10:41:23 +00:00
Daniel Franke 5a2197e9be invoke.texi: Removed -w from option summary.
2007-07-29  Daniel Franke  <franke.daniel@gmail.com>

	* invoke.texi: Removed -w from option summary.

From-SVN: r127040
2007-07-29 06:32:11 -04:00
Matthias Klose d94998c910 HACKING: Document regenerating configure.
2007-07-29  Matthias Klose  <doko@ubuntu.com>

        * HACKING: Document regenerating configure.

From-SVN: r127039
2007-07-29 10:11:19 +00:00
H.J. Lu 7fd1de41de re PR libgcj/32929 (Make FAILURE in 4.3.0 - error: `CXX' has changed since the previous run:)
2007-07-29  H.J. Lu  <hongjiu.lu@intel.com>

        PR libgcj/32929
        * aclocal.m4: Regenerated.
        * configure: Likewise.

From-SVN: r127038
2007-07-29 10:09:54 +00:00
Daniel Franke 4cb3c8fcb8 re PR fortran/32879 (Document algorithm used for random generator)
2007-07-29  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/32879
	* intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
	used for random number generator.

From-SVN: r127037
2007-07-29 06:01:27 -04:00
Kaveh R. Ghazi fa233e34c9 attribs.c (hash_attr, [...]): Constify.
* attribs.c (hash_attr, eq_attr, init_attributes): Constify.
	* builtins.c (validate_arg, builtin_mathfn_code,
	validate_arglist): Likewise.
	* calls.c (call_expr_flags): Likewise.
	* combine.c (reg_nonzero_bits_for_combine,
	reg_num_sign_bit_copies_for_combine, get_last_value,
	reg_truncated_to_mode): Likewise.
	* emit-rtl.c (subreg_lowpart_p): Likewise.
	* expr.c (highest_pow2_factor_for_target,
	categorize_ctor_elements_1, categorize_ctor_elements,
	count_type_elements, contains_packed_reference,
	highest_pow2_factor, highest_pow2_factor_for_target): Likewise.
	* fold-const.c (may_negate_without_overflow_p, int_const_binop,
	fold_convertible_p, operand_equal_p, tree_swap_operands_p,
	native_encode_int, native_encode_real, native_encode_complex,
	native_encode_vector, native_encode_expr, native_interpret_int,
	native_interpret_real, native_interpret_complex,
	native_interpret_vector, native_interpret_expr): Likewise.
	* function.c (use_register_for_decl): Likewise.
	* gimplify.c (get_name): Likewise.
	* langhooks-def.h (lhd_return_null_const_tree): New.
	(LANG_HOOKS_GET_CALLEE_FNDECL): Use it.
	* langhooks.c (lhd_return_null_const_tree): New.
	* langhooks.h (lang_get_callee_fndecl): Constify.
	* output.h (constructor_static_from_elts_p): Likewise.
	* rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise.
	* rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode,
	subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise.
	* rtlanal.c (cached_nonzero_bits, nonzero_bits1,
	cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p,
	nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise.
	* rtlhooks-def.h (reg_nonzero_bits_general,
	reg_num_sign_bit_copies_general, reg_truncated_to_mode_general):
	Likewise. 
	* rtlhooks.c (reg_num_sign_bit_copies_general,
	reg_nonzero_bits_general, reg_truncated_to_mode_general):
	Likewise. 
	* stmt.c (warn_if_unused_value, is_body_block): Likewise.
	* stor-layout.c (mode_for_size_tree): Likewise.
	* tree-ssa-loop-im.c (memref_eq): Likewise.
	* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise.
	* tree.c (contains_placeholder_p, type_list_equal,
	simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p):
	Likewise. 
	* tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p,
	mode_for_size_tree, categorize_ctor_elements, count_type_elements,
	contains_placeholder_p, contains_packed_reference,
	get_callee_fndecl, operand_equal_for_phi_arg_p,
	warn_if_unused_value, is_body_block, native_encode_expr,
	native_interpret_expr, fold_convertible_p, operand_equal_p,
	int_const_binop, tree_swap_operands_p, builtin_mathfn_code,
	validate_arglist, simple_cst_equal, type_list_equal,
	use_register_for_decl, call_expr_flags, get_name,
	highest_pow2_factor): Likewise.
	(const_call_expr_arg_iterator_d,
	init_const_call_expr_arg_iterator, next_const_call_expr_arg,
	first_const_call_expr_arg, more_const_call_expr_args_p,
	FOR_EACH_CONST_CALL_EXPR_ARG): New.
	* varasm.c (constructor_static_from_elts_p): Constify.
	
cp:
	* parser.c (eof_token): Un-constify.
	(cp_lexer_new_main, cp_lexer_new_from_tokens, VEC_alloc,
	cp_lexer_consume_token, cp_lexer_purge_token): Remove spurious
	casts.

java:
	* lang.c (java_get_callee_fndecl): Constify.

objc:
	* objc-act.c (objc_get_callee_fndecl): Constify.
	* objc-act.h (objc_get_callee_fndecl): Likewise.

From-SVN: r127036
2007-07-29 05:43:43 +00:00
GCC Administrator 5d16f08a89 Daily bump.
From-SVN: r127034
2007-07-29 00:17:08 +00:00
Kazu Hirata d732e98fbf * pt.c, tree.c, typeck2.c: Fix comment typos.
From-SVN: r127031
2007-07-28 23:59:29 +00:00
Kazu Hirata cea618ac1f cfglayout.c, [...]: Fix comment typos.
* cfglayout.c, config/arm/arm.c, config/arm/cortex-a8.md,
	config/arm/neon-schedgen.ml, config/arm/neon.ml,
	config/arm/vec-common.md, config/ia64/div.md, cselib.c,
	df-core.c, df.h, dominance.c, optabs.c, opts.c, reg-stack.c,
	regstat.c, target.h, tree-ssa-live.c, tree-ssa-pre.c,
	tree-vect-transform.c, tree.def: Fix comment typos.  Follow
	spelling conventions.
	* doc/invoke.texi: Follow spelling conventions.

From-SVN: r127030
2007-07-28 23:55:00 +00:00
Kazu Hirata 1207ac677d gfortran.h, [...]: Fix comment typos.
* gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
	typos.
	* intrinsic.texi, invoke.texi: Fix typos.

From-SVN: r127029
2007-07-28 23:46:26 +00:00
Jerry DeLisle e417e594f1 re PR fortran/31609 (module that calls a contained function with an ENTRY point)
2007-07-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31609
	* gfortran.dg/entry_11.f90: New test.

From-SVN: r127028
2007-07-28 22:02:42 +00:00
Vladimir Yanovsky 9b6dd30018 Avoid SMS when the candidate loop contains INC instruction
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r127027
2007-07-28 21:51:53 +00:00
Jerry DeLisle 6d023ec55b re PR fortran/31609 (module that calls a contained function with an ENTRY point)
2007-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31609
	* resolve.c (generic_sym): Check for a same symbol and if so, return to
	avoid infinite recursion.

From-SVN: r127026
2007-07-28 21:17:20 +00:00
Matthias Klose ed339fbc91 configure.ac: Encode the libgcj soversion in dbexecdir...
2007-07-28  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Encode the libgcj soversion in dbexecdir,
        pass --with-native-libdir to classpath configure.
        * configure: Regenerate.

From-SVN: r127025
2007-07-28 20:32:27 +00:00
Matthias Klose 312ce0f488 jvmti.h: Remove.
2007-07-28  Matthias Klose  <doko@ubuntu.com>

        * classpath/jvmti.h: Remove.

From-SVN: r127024
2007-07-28 20:23:58 +00:00
John David Anglin bea780bbad Fix typo in log.
From-SVN: r127022
2007-07-28 19:11:03 +00:00
Richard Guenther 539d5e79b5 re PR middle-end/32920 (error: type mismatch in binary expression)
2007-07-28  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32920
	* fold-const.c (fold_cond_expr_with_comparison): Convert
	operand zero of MIN/MAX_EXPR to correct type.

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

From-SVN: r127021
2007-07-28 16:26:44 +00:00
François-Xavier Coudert 5fcb93f138 re PR fortran/32048 (max/min and NaN)
PR fortran/32048

	* f95-lang.c (gfc_init_builtin_functions): Add declaration for
	__builtin_isnan.
	* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Handled NaNs.

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

From-SVN: r127019
2007-07-28 15:23:11 +00:00
Kaveh R. Ghazi 6ea2b70d9c calls.c (special_function_p, [...]): Constify.
* calls.c (special_function_p, setjmp_call_p, alloca_call_p,
	flags_from_decl_or_type): Constify.
	* gcc.c (do_spec_1): Likewise.
	* print-tree.c (dump_addr, print_node_brief): Likewise.
	* tree-cfg.c (stmt_starts_bb_p, is_ctrl_stmt, computed_goto_p,
	simple_goto_p, tree_can_make_abnormal_goto, stmt_starts_bb_p,
	tree_purge_all_dead_eh_edges): Likewise.
	* tree-flow.h (is_ctrl_stmt, computed_goto_p, simple_goto_p,
	tree_can_make_abnormal_goto, tree_purge_all_dead_eh_edges):
	Likewise. 
	* tree.c (expr_location, expr_has_location, expr_locus,
	expr_filename, expr_lineno, get_inner_array_type,
	fields_compatible_p): Likewise.
	* tree.h (get_inner_array_type, fields_compatible_p,
	expr_location, expr_has_location, expr_locus, expr_filename,
	expr_lineno, dump_addr, print_node_brief, flags_from_decl_or_type,
	setjmp_call_p, alloca_call_p): Likewise.

From-SVN: r127017
2007-07-28 14:51:40 +00:00
Simon Martin d4d8c232ed re PR c++/30917 (ICE with friend in local class (to a function))
gcc/cp/

2007-07-28  Simon Martin  <simartin@users.sourceforge.net>
	    Mark Mitchell  <mark@codesourcery.com>

	PR c++/30917
	* name-lookup.c (lookup_name_real): Non namespace-scope bindings can be
	hidden due to friend declarations in local classes.

gcc/testsuite/

2007-07-28  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/30917
	* g++.dg/lookup/friend11.C: New test.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r127016
2007-07-28 10:48:30 +00:00
Daniel Franke f86b898df8 Fixed overly long lines in my last ChangeLog entry.
From-SVN: r127015
2007-07-28 04:59:47 -04:00
Daniel Franke 5cca320dca re PR fortran/31818 (Wrongly accepts namelists with assumed-shape arrays)
gcc/fortran:
2007-07-28  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31818
	PR fortran/32876
	PR fortran/32905
	* gfortran.h (symbol_attribute): Added bits for pointer_comp, private_comp.
	* parse.c (parse_derived): Set pointer_comp/private_comp bits if the derived
	type ultimately contains pointer components or private components.
	* module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
	(attr_bits): Added names for new ab_attributes.
	(mio_symbol_attribute): Save/restore new attribute bits in modules.
	* match.c (gfc_match_namelist): Removed check for namelist objects of assumed
	shape.
	* resolve.c (resolve_fl_namelist): Added check for pointer or private
	components in nested types. Added check for namelist objects of assumed
	shape.

gcc/testsuite:
2007-07-28  Daniel Franke  <franke.daniel@gmail.com>

	* gfortran.dg/namelist_5.f90: Adjusted error message.
	* gfortran.dg/assumed_shape_nml.f90: Renamed to ...
	* gfortran.dg/namelist_31.f90: ... this. Removed dg-warning directive.
	* gfortran.dg/assumed_size_nml.f90: Renamed to ...
	* gfortran.dg/namelist_32.f90: ... this.

	PR fortran/32876
	* gfortran.dg/namelist_33.f90: New test.

	PR fortran/32905
	* gfortran.dg/namelist_34.f90: New test.

	PR fortran/31818
	* gfortran.dg/namelist_35.f90: New test.

From-SVN: r127014
2007-07-28 04:51:06 -04:00
Daniel Berlin 758137cd60 timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE, TV_FLOW_INSENSITIVE.
2007-07-28  Daniel Berlin  <dberlin@dberlin.org>

	* timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE,
	TV_FLOW_INSENSITIVE.

	* tree-ssa-alias.c (compute_call_clobbered): Push/pop
	TV_CALL_CLOBBER.
	(compute_flow_sensitive_aliasing): Ditto for TV_FLOW_SENSITIVE.
	(compute_flow_insensitive_aliasing): Ditto for
	TV_FLOW_INSENSITIVE.

From-SVN: r127013
2007-07-28 07:55:10 +00:00
Paul Thomas b8247b1389 re PR fortran/32880 (User operator & allocatable TYPE components: wrong deallocate)
2007-07-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32880
	* trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
	for lse and rse pre expressions, for derived types with
	allocatable components.  Instead, assign the lhs to a temporary
	and deallocate after the assignment.

2007-07-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32880
	* gfortran.dg/alloc_comp_assign_6.f90: New test.

From-SVN: r127011
2007-07-28 05:29:06 +00:00
GCC Administrator 9587952bbf Daily bump.
From-SVN: r127008
2007-07-28 00:17:10 +00:00
Rask Ingemann Lambertsen e4d38a0cc5 re PR testsuite/32471 (Testcases which always fail on targets where an int is 16 bits)
PR testsuite/32471
	* gcc.dg/torture/pr30364-1.c (f)(main): Use INT_MAX instead of
	  assuming it is 0x7ffffffff.
	* gcc.dg/torture/pr30364-2.c (f)(main): Likewise.
	* gcc.dg/torture/pr30364-3.c (f)(main): Likewise.

From-SVN: r127005
2007-07-27 23:03:01 +00:00
Janne Blomqvist dd52ecb0f6 re PR fortran/32909 (Replace gfc_c_int_type_node with integer_type_node)
2007-07-28  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32909
	* trans-stmt.c (gfc_trans_character_select): Replace occurrences
	of gfc_c_int_type_node with integer_type_node.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
	(gfc_build_builtin_function_decls): Likewise.
	(gfc_generate_function_code): Likewise.
	* trans-io.c (gfc_build_io_library_fndecls): Likewise.

From-SVN: r127003
2007-07-28 01:32:20 +03:00
Dominique d'Humieres 8dcb83bb8b operator_3.f90: Fix dg directive.
* gfortran.dg/operator_3.f90: Fix dg directive.
	* gfortran.dg/min_max_conformance.f90: Fix dg directive.
	* gfortran.dg/compliant_elemental_intrinsics_2.f90: Fix dg directive.
	* gfortran.dg/c_ptr_tests_10.f03: Fix dg directive.

From-SVN: r127001
2007-07-27 21:55:46 +00:00
Tom Tromey e018712466 * Rebuild .class files with new ecj.
From-SVN: r126998
2007-07-27 21:14:19 +00:00
Jan Hubicka e1f4b1ded7 i386.c (register_move_cost): Remove accidentally comitted #if 0 block.
* config/i386/i386.c (register_move_cost): Remove accidentally comitted
	#if 0 block.

From-SVN: r126997
2007-07-27 20:40:00 +00:00
Jan Hubicka 23b432076e attribs.c: Include hashtab.h
* attribs.c: Include hashtab.h
	(attribute_hash): New.
	(substring): New structure.
	(extract_attribute_substring, substring_hash, hash_attr, eq_attr):
	New function.
	(init_attributes): Initialize attribute hash.
	(decl_attributes): Use attribute hash.
	* Makefile.in (attribs.c): Depend on hashtab.h.

From-SVN: r126996
2007-07-27 20:27:17 +00:00
Steve Ellcey e3d693e9a3 * config/ia64/vect.md (vec_initv2si): Remove bad BIG_ENDIAN test.
From-SVN: r126995
2007-07-27 20:07:19 +00:00
Richard Sandiford da7d4908cd invoke.texi (mdsp, mdspr2): Document the __mips_dsp, __mips_dspr2 and __mips_dsp_rev macros.
gcc/
	* doc/invoke.texi (mdsp, mdspr2): Document the __mips_dsp,
	__mips_dspr2 and __mips_dsp_rev macros.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dsp_rev.

From-SVN: r126994
2007-07-27 19:27:28 +00:00
Janne Blomqvist 4e27018f03 trans-decl.c (gfc_build_builtin_function_decls): Use existing gfc_array_index_type rather than creating another typenode for...
2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans-decl.c (gfc_build_builtin_function_decls): Use existing
	gfc_array_index_type rather than creating another typenode for
	gfc_index_integer_kind.

From-SVN: r126993
2007-07-27 21:16:06 +03:00
Janne Blomqvist 6520ecacd5 Fortran frontend changelog:
2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans-io.c (gfc_build_io_library_fndecls): Change to use
	gfc_array_index_type for array descriptor triplets instead of
	gfc_int4_type_node.

libgfortran ChangeLog:

2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/transfer.c (st_set_nml_var_dim): Use index_type instead of
	GFC_INTEGER_4 for array descriptor triplets.

From-SVN: r126992
2007-07-27 21:13:37 +03:00
Douglas Gregor 3ad6a8e12c typeck.c (structural_comptypes): Compare DECLTYPE_TYPE nodes.
2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>

	* typeck.c (structural_comptypes): Compare DECLTYPE_TYPE nodes.
	* cp-tree.def (DECLTYPE_TYPE): New.
	* error.c (dump_type): Dump DECLTYPE_TYPE nodes.
	(dump_type_prefix): Ditto.
	(dump_type_suffix): Ditto.
	* tree.c (DECLTYPE_TYPE): Walk DECLTYPE_TYPE nodes.
	* mangle.c (write_type): Handle DECLTYPE_TYPE.
	* cp-tree.h (IS_AGGR_TYPE): DECLTYPE_TYPE nodes can be aggregate
	types.
	(DECLTYPE_TYPE_EXPR): New.
	(DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): New.
	(finish_declared_type): Declare.
	* cxx-pretty-print.c (pp_cxx_type_specifier_seq): Print
	DECLTYPE_TYPE nodes.
	(pp_cxx_type_id): Ditto.
	* pt.c (for_each_template_parm_r): Walk DECLTYPE_TYPE children.
	(tsubst): Substitute into a DECLTYPE_TYPE node.
	(tsubst_copy): Ditto.
	(unify): Cannot deduce anything from TYPEOF_TYPE or DECLTYPE_TYPE
	nodes.
	(dependent_type_p_r): DECLTYPE_TYPE types are always dependent.
	* semantics.c (finish_typeof): TYPEOF_TYPE types need to use
	structural equality (because we can't hash the expressions).
	(finish_declared_type): New.
	* lex.c (reswords): Add "decltype" keyword.
	* parser.c cp_lexer_next_token_is_decl_specifier_keyword
	(cp_parser_postfix_expression): Add member_access_only_p to
	restrict postfix expression to member access expressions.
	(cp_parser_unary_expression): Update call to
	cp_parser_postfix_expression to reflect new parameter.
	(cp_parser_declared_type): New.
	(cp_parser_simple_type_specifier): Parse decltype types.

2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>
	
       * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.

2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>

	* g++.dg/cpp0x/decltype1.C: New.
	* g++.dg/cpp0x/decltype2.C: New.
	* g++.dg/cpp0x/decltype3.C: New.
	* g++.dg/cpp0x/decltype4.C: New.
	* g++.dg/cpp0x/decltype5.C: New.
	* g++.dg/cpp0x/decltype6.C: New.

From-SVN: r126991
2007-07-27 17:43:05 +00:00
Rask Ingemann Lambertsen 8a67955f08 pr27743.c (bar): Use an integer of exactly 32 bits because the test relies on bit 31 to be the...
* gcc.dg/torture/pr27743.c (bar): Use an integer of exactly 32 bits
	  because the test relies on bit 31 to be the sign bit.

From-SVN: r126990
2007-07-27 17:35:01 +00:00
Rask Ingemann Lambertsen f017014e09 pr28651.c (main): Use INT_MAX instead of assuming it is 0x7fffffff.
* gcc.c-torture/execute/pr28651.c (main): Use INT_MAX instead of
	  assuming it is 0x7fffffff.
	* gcc.dg/tree-ssa/vrp29.c (decCompare)(main): Likewise.
	* gcc.dg/Wconversion-integer-no-sign.c (h): Likewise.

From-SVN: r126989
2007-07-27 17:27:57 +00:00
Paolo Carlini bd12160ab8 re PR libstdc++/32907 (Inefficient operator== in std::string)
2007-07-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/32907
	* include/bits/basic_string.h (operator==(const basic_string<_CharT>&,
	const basic_string<_CharT>&)): Add.
	(operator!=): Forward to operator==.
	* include/ext/vstring.h(operator==(const __versa_string<_CharT,
	std::char_traits<_CharT>, std::allocator<_CharT>, _Base>&,
	const __versa_string<_CharT, std::char_traits<_CharT>,
	std::allocator<_CharT>, _Base>&)): Add.
	(operator!=): Forward to operator==.

	* include/ext/sso_string_base.h (_M_compare): Remove.

From-SVN: r126988
2007-07-27 17:25:04 +00:00
Kenneth Zadeck e4142b7c1b re PR middle-end/32749 (gfortran.dg/auto_array_1.f90)
2007-07-26  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/32749
	
	* df-problems.c (df_create_unused_note): Removed do_not_gen parm
	and the updating of the live and do_not_gen sets.
	(df_note_bb_compute): Added updating of live and do_not_gen sets
	for regular defs so that the case of clobber inside conditional
	call is processed correctly.

From-SVN: r126987
2007-07-27 17:22:14 +00:00
Mark Mitchell 83144bd60c re PR c++/32346 (long long bitfield passed to int argument incorrectly)
PR c++/32346
	* call.c (convert_for_arg_passing): Only widen bitfields to their
	declared types if necessary.
	PR c++/32346
	* g++.dg/expr/bitfield9.C: New test.

From-SVN: r126986
2007-07-27 17:13:29 +00:00
Steven G. Kargl b8475dd604 re PR fortran/32899 (Broken diagnostic for invalid use of .eq. for logicals)
2007-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/32899
	* resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.

2007-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/32899
	* gfortran.dg/logical_comp.f90: Update dg-error strings.

From-SVN: r126985
2007-07-27 16:59:32 +00:00
Francois-Xavier Coudert 008afe5148 * io/unix.c (stream_ttyname): Mark argument as potentialy unused.
From-SVN: r126983
2007-07-27 16:42:12 +00:00
Jerry DeLisle 7aa34e7a72 re PR fortran/32760 (Error defining subroutine named PRINT)
2007-07-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32760
	* gfortran.dg/private_type_7.f90: New test.

From-SVN: r126982
2007-07-27 16:33:50 +00:00
Jerry DeLisle 4958f4ee0b re PR fortran/32760 (Error defining subroutine named PRINT)
2007-07-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/32760
	* primary.c (match_variable): Do not call gfc_add_flavor if symbol has
	attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.

Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>

From-SVN: r126981
2007-07-27 16:30:10 +00:00