Commit Graph

80506 Commits

Author SHA1 Message Date
Joseph Myers b6fda43f4e spe.md (*frob_tf_ti, [...]): Add length attributes.
gcc/
	* config/rs6000/spe.md (*frob_tf_ti, *frob_ti_tf, *frob_ti_tf_2,
	*mov_si<mode>_e500_subreg0, *mov_si<mode>_e500_subreg0_2,
	*mov_sitf_e500_subreg8, *mov_sitf_e500_subreg8_2, spe_extenddftf2,
	spe_fix_trunctfsi2_internal, spe_negtf2_internal, cmptfeq_gpr,
	tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr):
	Add length attributes.

From-SVN: r123979
2007-04-19 22:00:44 +01:00
Tom Tromey 765e6a0cd4 re PR crypto/31626 (javax.net.SocketFactory#createSocket() throws UnsupportedOperationException)
libjava
	* gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h: Rebuilt.
libjava/classpath
2007-04-19  Casey Marshall  <csm@gnu.org>
	PR classpath/31626:
	* gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java
	(createSocket): New method.

From-SVN: r123977
2007-04-19 20:50:40 +00:00
Daniel Franke 06785a48be libgomp.texi (GOMP_CPU_AFFINITY): Updated.
2007-04-19  Daniel Franke  <franke.daniel@gmail.com>

        * libgomp.texi (GOMP_CPU_AFFINITY): Updated.

From-SVN: r123976
2007-04-19 15:36:34 -04:00
Janis Johnson 93167356eb float.h: Check that __STDC_WANT_DEC_FP__ is defined, not that it is 1.
* ginclude/float.h: Check that __STDC_WANT_DEC_FP__ is defined,
	not that it is 1.

From-SVN: r123974
2007-04-19 16:58:42 +00:00
Janis Johnson 589dd99500 c-cppbuiltin.c (c_cpp_builtins): Remove definition of __STDC_WANT_DEC_FP__.
* c-cppbuiltin.c (c_cpp_builtins): Remove definition of
	__STDC_WANT_DEC_FP__.

From-SVN: r123973
2007-04-19 16:57:23 +00:00
Joseph Myers f7cc5390ec configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu* for long double compatibility.
gcc:
	* configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu*
	for long double compatibility.
	* configure: Regenerate.

libstdc++-v3:
	* configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu*
	for long double compatibility.
	* configure: Regenerate.
	* src/complex_io.cc, src/istream-inst.cc, src/ostream-inst.cc:
	Condition some _GLIBCXX_LDBL_COMPAT calls on _GLIBCXX_USE_WCHAR_T.

From-SVN: r123972
2007-04-19 13:11:07 +01:00
Eric Botcazou d47a8b8331 re PR rtl-optimization/29841 (ICE with scheduling and __builtin_trap)
PR rtl-optimization/29841
	* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
	trap instructions.
	* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
	that may cause control flow transfer from being moved.

From-SVN: r123970
2007-04-19 11:19:16 +00:00
Francois-Xavier Coudert a777d6e967 main.c (please_free_exe_path_when_done): New variable.
* runtime/main.c (please_free_exe_path_when_done): New variable.
	(store_exe_path): Initialize character buffer, and mark whether
	exe_path should be free'd by the library destructor function.
	(cleanup): Only free exe_path if needed.

From-SVN: r123969
2007-04-19 11:01:15 +00:00
Jan Hubicka 8d5d586529 fold-const.c (div_if_zero_remainder): Do signed divide for pointer types.
* fold-const.c (div_if_zero_remainder): Do signed divide for pointer
	types.

From-SVN: r123966
2007-04-19 01:35:25 +00:00
Tom Tromey 06a4a50762 libjava
* Regenerated headers with new gjavah.
libjava/classpath
	* tools/gnu/classpath/tools/javah/MethodHelper.java (print):
	Changed arguments.  Directly print method name.
	* tools/gnu/classpath/tools/javah/ClassWrapper.java
	(methodNameMap): New field.
	(makeVtable): Initialize it.
	(printMethods): Compute name for bridge targets.

From-SVN: r123965
2007-04-19 00:24:09 +00:00
GCC Administrator 5604bf10dd Daily bump.
From-SVN: r123963
2007-04-18 23:17:06 +00:00
Eric Christopher 316fbf1945 darwin.md (load_macho_picbase): Use link register only.
2007-04-18  Eric Christopher  <echristo@apple.com>

        * config/rs6000/darwin.md (load_macho_picbase): Use link register
        only. Update operands.
        * config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller.
        * config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from
        link register to pic register.

From-SVN: r123960
2007-04-18 22:27:51 +00:00
Philippe De Muyter 5083912dfa m68k.c (output_btst): Use `movew to ccr' when useful.
2007-04-18  Philippe De Muyter  <phdm@macqel.be>

	* config/m68k/m68k.c (output_btst): Use `movew to ccr' when useful.

From-SVN: r123959
2007-04-18 20:51:42 +00:00
Dirk Mueller 05fb69e4c9 re PR tree-optimization/31227 (-Warray-bounds doesn't play together with loop optimizations)
2007-04-18  Dirk Mueller  <dmueller@suse.de>

       PR diagnostic/31227
       * tree-vrp.c (search_for_addr_array): New.
       (check_array_bounds): Suppress warning about
       address taken of array refs if its not de-referenced.

       * gcc.dg/Warray-bounds-3.c: New.

From-SVN: r123958
2007-04-18 20:09:21 +00:00
Dorit Nuzman 28e44f4fe6 tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL.
* tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL.
        * tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux.

        * tree-vectorizer.h (NITERS_KNOWN_P): New.
        * tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P
        instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info.

        * tree-vect-analyze.c (vect_determine_vectorization_factor): Add
        dump print.
        (vect_analyze_operations): Fix indenetation.  Fix a comment.  Fix a
        print message.
        (vect_analyze_scalar_cycles): Fix indentation.
        (vect_enhance_data_refs_alignment): Fix check in case of peeling.
        (vect_mark_relevant): Include phis in relevance analysis.

        * tree-vect-transform.c (vect_transform_loop): Add an assert.

From-SVN: r123955
2007-04-18 17:43:27 +00:00
Andrew Haley f9d6deca5b natVMProxy.cc (ncode_closure): Add method_index.
2007-04-18  Andrew Haley  <aph@redhat.com>

        * java/lang/reflect/natVMProxy.cc (ncode_closure): Add
        method_index.
        (generateProxyClass): Add field $Proxy0.m.  Store methods array in
        it.
        (run_proxy): Retrieve the method to invoke from in $Proxy0.m.
        * java/lang/Class.h: Remove _Jv_LookupProxyMethod.
        * java/lang/natClass.cc: Likewise.
        * headers.txt: Likewise.
        * java/lang/reflect/Method.h: Likewise.

From-SVN: r123954
2007-04-18 17:13:20 +00:00
Andrew Haley 0df38d45e1 natVMProxy.cc (ncode_closure): Add method_index.
2007-04-18  Andrew Haley  <aph@redhat.com>

        * java/lang/reflect/natVMProxy.cc (ncode_closure): Add
        method_index.
        (generateProxyClass): Add field $Proxy0.m.  Store methods array in
        it.
        (run_proxy): Retrieve the method to invoke from in $Proxy0.m.
        * java/lang/Class.h: Remove _Jv_LookupProxyMethod.
        * java/lang/natClass.cc: Likewise.
        * headers.txt: Likewise.

From-SVN: r123953
2007-04-18 17:10:32 +00:00
Andrew Haley 431f60c0eb UnicastConnectionManager.java (UnicastConnectionManager(int port, RMIServerSocketFactory)): Listen on "localhost", not localhost.
2007-04-17  Andrew Haley  <aph@redhat.com>

	* gnu/java/rmi/server/UnicastConnectionManager.java
	(UnicastConnectionManager(int port, RMIServerSocketFactory)):
	Listen on "localhost", not localhost.

From-SVN: r123952
2007-04-18 17:07:48 +00:00
Anatoly Sokolov 3639b3fac4 avr.c (ptrreg_to_str): Replace error() with output_operand_lossage().
* config/avr/avr.c (ptrreg_to_str): Replace error() with
	output_operand_lossage().

From-SVN: r123949
2007-04-18 20:21:57 +04:00
Dorit Nuzman f7c1d73d8d tree-vect-transform.c (get_initial_def_for_reduction): Clean away the unused code for reduction without adjust-in-epilog to simplify...
* tree-vect-transform.c (get_initial_def_for_reduction): Clean away
        the unused code for reduction without adjust-in-epilog to simplify the
        function.

From-SVN: r123948
2007-04-18 11:53:37 +00:00
Wolfgang Gellerich 638e37c250 s390.h (S390_TDC_POSITIVE_ZERO): New constant.
2007-04-18  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/s390.h (S390_TDC_POSITIVE_ZERO): New constant.
	(S390_TDC_NEGATIVE_ZERO): New constant.
	(S390_TDC_POSITIVE_NORMALIZED_NUMBER): New constant.
	(S390_TDC_NEGATIVE_NORMALIZED_NUMBER): New constant.
	(S390_TDC_POSITIVE_DENORMALIZED_NUMBER): New constant.
	(S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): New constant.
	(S390_TDC_POSITIVE_INFINITY): New constant.
	(S390_TDC_NEGATIVE_INFINITY): New constant.
	(S390_TDC_POSITIVE_QUIET_NAN): New constant.
	(S390_TDC_NEGATIVE_QUIET_NAN): New constant.
	(S390_TDC_POSITIVE_SIGNALING_NAN): New constant.
	(S390_TDC_NEGATIVE_SIGNALING_NAN): New constant.
	(S390_TDC_INFINITY): New constant.
	* config/s390/s390.c (s390_canonicalize_comparison): Renamed
	UNSPEC_CMPINT to UNSPEC_CCU_TO_INT, added a UNSPEC_CCU_TO_INT-like
	optimization for UNSPEC_CCZ_TO_INT.
	* config/s390/s390.md ("*TDC_insn_<mode>"): New insn.
	("*ccz_to_int"): New insn.
	("isinf<mode>2"): New insn.
	(UNSPEC_CMPINT): Renamed to UNSPEC_CCU_TO_INT.
	(UNSPEC_CCU_TO_INT): New constant, replaces UNSPEC_CMPINT.
	(UNSPEC_CCZ_TO_INT): New constant.

From-SVN: r123947
2007-04-18 11:51:06 +00:00
Richard Guenther 3b48ccbc89 re PR tree-optimization/19431 (missed optimization with ifs and deferencing)
2007-04-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/19431
	PR tree-optimization/21463
	* tree-pass.h (pass_phiprop): Declare.
	* passes.c (init_optimization_passes): New phiprop pass.
	* tree-ssa-forwprop.c (struct phiprop_d): New structure.
	(phivn_valid_p): New helper function.
	(phiprop_insert_phi): Likewise.
	(propagate_with_phi): Likewise.
	(tree_ssa_phiprop): New propagator propagating loads
	through phi nodes if profitable.

	* gcc.c-torture/execute/20070212-1.c: New testcase.
	* gcc.c-torture/execute/20070212-2.c: Likewise.
	* gcc.c-torture/execute/20070212-3.c: Likewise.
	* gcc.dg/tree-ssa/pr19431.c: Likewise.
	* gcc.dg/tree-ssa/pr21463.c: Likewise.
	* g++.dg/tree-ssa/pr21463.C: Likewise.
	* g++.dg/tree-ssa/pr30738.C: Likewise.

From-SVN: r123946
2007-04-18 11:45:09 +00:00
François-Xavier Coudert 383862e812 * ChangeLog: Forgot to include Tobias in the authors.
From-SVN: r123945
2007-04-18 08:54:40 +00:00
François-Xavier Coudert c6e75626c9 re PR libfortran/31286 (cshift uses uninitialized variables)
PR libfortran/31286
	PR libfortran/31296

	* intrinsics/cshift0.c (cshift0): Initialize sstride[0] and rstride[0].
	* intrinsics/unpack_generic.c (unpack0, unpack0_char): Zero the
	array structures we pass to unpack_internal.

From-SVN: r123944
2007-04-18 08:47:28 +00:00
Dorit Nuzman 8cf81ddffd tree-vect-analyze.c (process_use): New function.
* tree-vect-analyze.c (process_use): New function.
        (vect_mark_stmts_to_be_vectorized): Factor out code to process_use.
        Check phis in all bbs.
        * tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant
        assert.

From-SVN: r123943
2007-04-18 07:55:34 +00:00
Tobias Schlüter 7b715e2e18 Add ChangeLog entries missing from r123917
From-SVN: r123942
2007-04-18 09:39:37 +02:00
Mark Mitchell 431ed7a131 re PR c++/31513 (Miscompilation of Function Passing Bit Field Value to Function)
PR c++/31513
	* call.c (convert_for_arg_passing): Convert bitfields to their
	declared types.

	PR c++/31513
	* g++.dg/expr/bitfield8.C: New test.

From-SVN: r123939
2007-04-18 03:36:18 +00:00
Joseph Myers 50f324bbbe target-supports.exp (check_profiling_available): Return 0 for uClibc with -p or -pg.
2007-04-17  Joseph Myers  <joseph@codesourcery.com>
            Richard Sandiford  <richard@codesourcery.com>

	* lib/target-supports.exp (check_profiling_available): Return 0
	for uClibc with -p or -pg.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r123938
2007-04-18 00:55:07 +01:00
GCC Administrator f5df0dc4bd Daily bump.
From-SVN: r123936
2007-04-17 23:17:07 +00:00
Eric Christopher f65559575d Fix merge markers in ChangeLog.
From-SVN: r123933
2007-04-17 22:47:58 +00:00
Bernd Schmidt 7c11b28c57 reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way we use REG_EQUAL.
* reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way
	we use REG_EQUAL.

From-SVN: r123932
2007-04-17 22:35:47 +00:00
Francis Kung abe2f66ab9 re PR awt/31311 (Quitting applet can hang X server)
2007-04-17  Francis Kung  <fkung@redhat.com>

	PR classpath/31311
	* gnu/java/awt/peer/gtk/ComponentGraphics.java
	(dispose): Removed method.
	(disposeSurface): Removed method.
	* gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
	(Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed.
	(Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surface
	after it is used to create a cairo context.

From-SVN: r123928
2007-04-17 20:15:53 +00:00
Anatoly Sokolov 5594a6c8c0 re PR target/30483 (Internal compiler error with inline volatile assembly on AVR)
PR target/30483
	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
	error().

From-SVN: r123926
2007-04-18 00:08:46 +04:00
Tobias Schlüter dcfef7d48a trans-types.h (gfc_packed): New enum.
* trans-types.h (gfc_packed): New enum.
(gfc_get_nodesc_array_type): Change prototype to use new enum.
* trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
argument packed.  Adapt all references to values accordingly.
(gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
(gfc_get_derived_type): Likewise.
* trans-array.c (gfc_build_constant_array_constructor): Likewise.
* trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
argument to type gfc_packed.
(gfc_add_interface_mapping): Use enum values in call to
gfc_get_interface_mapping.
* trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
values when determining packing.

From-SVN: r123924
2007-04-17 20:47:19 +02:00
Simon Martin f01ec37df9 re PR c++/31517 (ICE on invalid initialization of static member of a template class)
2007-04-17  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/31517
	* pt.c (value_dependent_expression_p): Handle MODOP_EXPRs.

From-SVN: r123923
2007-04-17 18:05:53 +00:00
H.J. Lu ce217d7583 sse.md (sse_vmaddv4sf3): Use register_operand on "0".
2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
	on "0".
	(sse_vmmulv4sf3): Likewise.
	(sse2_vmaddv2df3): Likewise.
	(sse2_vmmulv2df3): Likewise.

From-SVN: r123920
2007-04-17 10:30:40 -07:00
Zdenek Dvorak a154b43a81 re PR rtl-optimization/31360 (RTL loop invariant is not aggressive enough)
PR rtl-optimization/31360
	* cfgloopanal.c (target_small_cost, target_pres_cost): Removed.
	(target_reg_cost): New.
	(init_set_costs): Initialize target_reg_cost.  Add comments
	regarding the rationale of the costs.
	(global_cost_for_size): Renamed to...
	(estimate_reg_pressure_cost): ... and simplify.  Decrease importance
	of register pressure.
	* tree-ssa-loop-ivopts.c (ivopts_global_cost_for_size): Use
	estimate_reg_pressure_cost.  Add number of ivs.
	(determine_set_costs): Dump target_reg_cost.
	* loop-invariant.c (gain_for_invariant):  Use
	estimate_reg_pressure_cost.  Removed n_inv_uses argument.
	(best_gain_for_invariant, find_invariants_to_move): Remove
	n_inv_uses.
	* cfgloop.h (target_small_cost, target_pres_cost): Removed.
	(target_reg_cost): Declare.
	(global_cost_for_size): Declaration removed.
	(estimate_reg_pressure_cost): Declare.

	* gcc.dg/loop-7.c: New test.

From-SVN: r123919
2007-04-17 16:42:29 +00:00
Tobias Schlüter faf28b3a89 trans-decl.c (gfc_finish_decl): Remove unused second argument 'init'.
* trans-decl.c (gfc_finish_decl): Remove unused second argument
'init'.  Simplify code accordingly.  Remove calls to
gfc_fatal_error in favor of gcc_assert.
(create_function_arglist): Remove second argument from calls to
gfc_finish-decl.
(gfc_trans_dummy_character): Likewise.

From-SVN: r123917
2007-04-17 18:32:31 +02:00
Peter Bergner c092b0457f rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode regnos into even/odd register pairs.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode
	regnos into even/odd register pairs.
	* config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and
	TDmode similar to the other floating point modes.
	[SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode.
	* config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New
	define_expand's.
	(negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr,
	nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's.
	(movdd_hardfloat64): Use TARGET_MFPGPR.

From-SVN: r123916
2007-04-17 11:07:05 -05:00
Andreas Krebbel ea30850a82 re PR ada/31576 (Ada bootstrap error)
2007-04-17  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR ada/31576
	* system-linux-alpha.ads: Disable constant condition warning for the
	Default_Bit_Order variable.
	* system-linux-s390.ads: Likewise.
	* system-linux-s390x.ads: Likewise.
	* system-linux-sparc.ads: Likewise.

From-SVN: r123915
2007-04-17 15:59:24 +00:00
Mark Mitchell 485b51a7b0 linkage.exp: Do not run on remote hosts.
* gcc.misc-tests/linkage.exp: Do not run on remote hosts.
	* lib/compat.exp (compat-run): Use file_on_host, not remote_file
	build.
	(compat-execute): Likewise.
	* lib/copy-file.exp (gcc_copy_files): Use remote_download to copy
	files to remote hosts.
	* lib/c-ctorture.exp (c-torture-compile): Likewise.
	(c-torture-execute): Likewise.
	* lib/dg-pch.exp (dg-pch): Use file_on_host, not remote_file build
	or plain file.  Use remote_upload and remote_download to copy
	files about.
	* lib/scanasm.exp (dg-scan): Upload the file from the remote host
	before scanning it.

From-SVN: r123914
2007-04-17 15:54:55 +00:00
Bernd Schmidt f2eb49dcfa re PR rtl-optimization/10692 ([m68k] miscompilation of perl with -O2 -fPIC)
* reload1.c (delete_output_reload): Don't count output in n_inherited.

	Revert
	2005-01-05  Richard Henderson  <rth@redhat.com>
	PR rtl-opt/10692
	* reload1.c (do_input_reload): Restrict the optimization deleteing
	a previous output reload to RELOAD_FOR_INPUT.

From-SVN: r123913
2007-04-17 15:29:34 +00:00
Tobias Schlüter 710a179f8a arith.h: Update copyright years.
* arith.h: Update copyright years.
* dependency.h: Likewise.
* gfortran.h: Likewise.
* lang-specs.h: Likewise.
* parse.h: Likewise.
* symbol.c: Likewise.
* trans.h: Likewise.
* trans.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-const.h: Likewise.
* trans-const.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-io.c: Likewise.
* trans-openmp.c: Likewise.
* trans-types.h: Likewise.
* types.def: Likewise.

From-SVN: r123911
2007-04-17 15:33:31 +02:00
Dorit Nuzman cd38ca7f15 tree-vectorizer.h (stmt_vec_info_type): Add enum value induc_vec_info_type.
* tree-vectorizer.h (stmt_vec_info_type): Add enum value
        induc_vec_info_type.
        (vectorizable_induction): New function declaration.
        * tree-vect-transform.c (get_initial_def_for_induction): No need to
        check if already vectorized.  Find first place in BB where new stmts
        can be inserted.  Takes only one argument.
        (vectorizable_induction): New function.
        (vect_transform_stmt): Add case for induc_vec_info_type to call
        vectorizable_induction.
        (vect_transform_loop): Consider phis for vectorization.
        * tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify
        condition.
        (analyze_operations): Call vectorizable_induction when analyzing phis.
        Fix comment.
        (vect_mark_stmts_to_be_vectorized): Remove redundant checks.
        (vect_mark_relevant): Include phis in relevance analysis.
        (vect_mark_stmts_to_be_vectorize): Likewise.
        * tree-vect-patterns.c (widened_name_p): Remove obsolete asserts.

From-SVN: r123910
2007-04-17 07:31:45 +00:00
Lawrence Crowl 39ef65923c invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options...
./:	* doc/invoke.texi (Debugging Options): Add documentation for the
	-femit-struct-debug options -femit-struct-debug-baseonly,
	-femit-struct-debug-reduced, and
	-femit-struct-debug-detailed[=...].

	* c-opts.c (c_common_handle_option): Add
	OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced,
	and OPT_femit_struct_debug_detailed_.
	* c.opt: Add specifications for
	-femit-struct-debug-baseonly, -femit-struct-debug-reduced,
	and -femit-struct-debug-detailed[=...].
	* opts.c (set_struct_debug_option): Parse the
	-femit-struct-debug-... options.
	* opts.c (matches_main_base, main_input_basename,
	main_input_baselength, base_of_path, matches_main_base): Add
	variables and functions to compare header base name to compilation
	unit base name.
	* opts.c (should_emit_struct_debug): Add to determine to emit a
	structure based on the option.
	(dump_struct_debug) Also disabled function to debug this
	function.
	* opts.c (handle_options): Save the base name of the
	compilation unit.

	* langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define.
        (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add.
	This hook indicates if a type is generic.  Set it by default
	to "never generic".
	* langhooks.h (struct lang_hooks_for_types): Add a new hook
	to determine if a struct type is generic or not.
	* cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook.
	* cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook.
	* cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook
	with live C++ hook.

	* flags.h (enum debug_info_usage): Add an enumeration to describe
	a program's use of a structure type.
	* dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter
	to indicate the program's usage of the type.  Filter structs based
	on the -femit-struct-debug-... specification.
	(gen_type_die): Split into two routines, gen_type_die and
	gen_type_die_with_usage.  gen_type_die is now a wrapper
	that assumes direct usage.
	(gen_type_die_with_usage): Replace calls to gen_type_die
	with gen_type_die_with_usage adding the program usage of
	the referenced type.
	(dwarf2out_imported_module_or_decl): Suppress struct debug
	information using should_emit_struct_debug when appropriate.
testsuite/:
	* g++.dg/other/fesd-any.C: Test -femit-struct-debug-detailed=any.
	* g++.dg/other/fesd-any.h: Test -femit-struct-debug-detailed=any.
	* g++.dg/other/fesd-baseonly.C: Test -femit-struct-debug-baseonly.
	* g++.dg/other/fesd-baseonly.h: Test -femit-struct-debug-baseonly.
	* g++.dg/other/fesd-none.C: Test -femit-struct-debug-detailed=none.
	* g++.dg/other/fesd-none.h: Test -femit-struct-debug-detailed=none.
	* g++.dg/other/fesd-reduced.C: Test -femit-struct-debug-reduced.
	* g++.dg/other/fesd-reduced.h: Test -femit-struct-debug-reduced.
	* g++.dg/other/fesd-sys.C: Test -femit-struct-debug-detailed=sys.
	* g++.dg/other/fesd-sys.h: Test -femit-struct-debug-detailed=sys.
	* g++.dg/other/fesd.h: Common to -femit-struct-debug-... tests.

	* gcc.dg/fesd-any.c: Test -femit-struct-debug-detailed=any.
	* gcc.dg/fesd-any.h: Test -femit-struct-debug-detailed=any.
	* gcc.dg/fesd-baseonly.c: Test -femit-struct-debug-baseonly.
	* gcc.dg/fesd-baseonly.h: Test -femit-struct-debug-baseonly.
	* gcc.dg/fesd-none.c: Test -femit-struct-debug-detailed=none.
	* gcc.dg/fesd-none.h: Test -femit-struct-debug-detailed=none.
	* gcc.dg/fesd-reduced.c: Test -femit-struct-debug-reduced.
	* gcc.dg/fesd-reduced.h: Test -femit-struct-debug-reduced.
	* gcc.dg/fesd-sys.c: Test -femit-struct-debug-detailed=sys.
	* gcc.dg/fesd-sys.h: Test -femit-struct-debug-detailed=sys.
	* gcc.dg/fesd.h: Common to -femit-struct-debug-... tests.

From-SVN: r123909
2007-04-17 06:19:36 +00:00
Ian Lance Taylor fc6827fe9f re PR tree-optimization/31522 (False overflow warning with phi nodes)
./:	PR tree-optimization/31522
	* tree-vrp.c (vr_phi_edge_counts): New static variable.
	(vrp_initialize): Allocate vr_phi_edge_counts.
	(vrp_visit_phi_node): Don't push to infinity if we saw a new
	executable edge.  Drop test for all constants.
	(vrp_finalize): Free vrp_phi_edge_counts.
testsuite/:
	PR tree-optimization/31522
	* gcc.dg/Wstrict-overflow-16.c: New test.

From-SVN: r123908
2007-04-17 05:33:38 +00:00
Ian Lance Taylor 4075e23198 cpp.texi (Common Predefined Macros): Clarify description of __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
* doc/cpp.texi (Common Predefined Macros): Clarify description of
	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.

From-SVN: r123907
2007-04-17 05:19:22 +00:00
Ian Lance Taylor 5a0ed003f0 tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer predecessors at head rather than tail.
* tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer
	predecessors at head rather than tail.

From-SVN: r123906
2007-04-17 05:16:07 +00:00
Kazu Hirata 591523164b * gcc.dg/cpp/_Pragma6.c: Skip on fido-*-* and m68k-*-*.
From-SVN: r123905
2007-04-17 02:07:40 +00:00
Tobias Schlüter 9998ef84d3 re PR fortran/31144 (gfortran module symbol names are not standard compliant)
PR fortran/31144
fortran/
* decl.c (gfc_sym_mangled_identifier): Use capital letters in name
mangling.
(gfc_sym_mangled_function_id): Likewise.
testsuite/
* gfortran.dg/module_naming_1.f90: New.

From-SVN: r123904
2007-04-17 02:09:34 +02:00