Commit Graph

73558 Commits

Author SHA1 Message Date
Paolo Carlini 3089d5a419 PR libstdc++/26133 (DR 241, [WP])
2006-02-08  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/26133  (DR 241, [WP])
	* include/bits/stl_algo.h (__unique_copy(,,, forward_iterator_tag,
	output_iterator_tag), __unique_copy(,,, input_iterator_tag,
	output_iterator_tag), __unique_copy(,,, input_iterator_tag,
	forward_iterator_tag), and predicated counterparts): Add.
	(__unique_copy(,,, output_iterator_tag), __unique_copy(,,,
	forward_iterator_tag), and predicated counterparts): Remove.
	(unique_copy): Adjust, dispatch to the three helpers above.
	* testsuite/25_algorithms/unique_copy/2.cc: New.
	* testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
	* testsuite/25_algorithms/unique_copy/3.cc: Likewise.	
	* docs/html/ext/howto.html: Add an entry for DR 241.

	* testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.

From-SVN: r110772
2006-02-08 21:51:55 +00:00
François-Xavier Coudert 5f8f531322 re PR libfortran/25425 ([4.1 only] F95 and F2003 differ on list-directed output for 0.0)
PR libfortran/25425

	* trans-decl.c (gfc_generate_function_code): Add new argument,
	pedantic, to set_std call.

	* libgfortran.h: Add pedantic field to compile_options struct.
	* io/write.c (calculate_G_format): Depending on the standard,
	choose E or F format for list-directed output of 0.0.
	* runtime/error.c (notify_std): Make warning and error dependent
	on pedanticity.
	* runtime/compile_options.c (set_std): Use new pedantic argument.

From-SVN: r110769
2006-02-08 20:54:14 +00:00
Bryce McKinlay 2cf94e58cb link.cc (_Jv_Linker::print_class_loaded): Declare string constants as "const char *".
2006-02-08  Bryce McKinlay  <mckinlay@redhat.com>

	* link.cc (_Jv_Linker::print_class_loaded): Declare string constants
	as "const char *".
	* verify.cc (verify_fail): Likewise.
	* gnu/classpath/natSystemProperties.cc (file_encoding): Likewise.
	* interpret.cc (throw_internal_error, throw_class_format_error):
	Likewise.
	* gcj/javaprims.h (_Jv_hashUtf8String, _Jv_Utf8Const::space_needed, 
	_Jv_Utf8Const::init, _Jv_makeUtf8Const): Likewise.
	* java/lang/Class.h (_Jv_InitPrimClass): Likewise.
	* include/jvm.h (_Jv_strLengthUtf8, _Jv_makeUtf8Const): Likewise.
	* defineclass.cc (throw_internal_error, throw_no_class_def_found_error,
	is_attribute_name): Likewise.
	* prims.cc (_Jv_strLengthUtf8, _Jv_hashUtf8String, _Jv_Utf8Const::init,
	_Jv_makeUtf8Const, _Jv_InitPrimClass): Likewise.

From-SVN: r110767
2006-02-08 20:38:13 +00:00
Tom Tromey 8b1753e3ec PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
* defineclass.cc (parse): Use _Jv_AllocRawObj.
	(read_constpool): Likewise.
	(read_one_code_attribute): Use internal function name.
	(handleConstantPool): Use _Jv_AllocRawObj.
	(handleInterfacesBegin): Likewise.
	(handleFieldsBegin): Likewise.
	(handleMethodsBegin): Likewise.
	(handleCodeAttribute): Likewise.
	(handleMethodsEnd): Likewise.
	* include/jvm.h (new_vtable): Use _Jv_AllocRawObj.
	* interpret.cc (do_allocate_static_fields): Use _Jv_AllocRawObj.
	Allocate reference fields separately.
	* link.cc (prepare_constant_time_tables): Use _Jv_AllocRawObj.
	(add_miranda_methods): Likewise.
	(generate_itable): Use _Jv_AllocBytes.
	(find_iindex): Likewise.
	(struct method_closure): New structure.
	(create_error_method): Use struct method_closure; allocate with
	_Jv_AllocBytes.
	(ensure_fields_laid_out): Separate reference fields from
	non-reference fields.
	* boehm.cc (_Jv_MarkObj): Mark vtable.  Only mark direct fields
	of Class.
	(_Jv_MarkArray): Mark vtable.
	(_Jv_AllocRawObj): Don't allocate objects of size 0.
	* include/execution.h
	(_Jv_ExecutionEngine::allocate_static_fields): Added 'int'
	parameter.
	(struct _Jv_CompiledEngine): Updated.
	(class _Jv_InterpreterEngine): Updated.

From-SVN: r110763
2006-02-08 20:07:29 +00:00
Daniel Berlin b5642e2029 df-scan.c (df_def_record_1): A set destination may be a parallel regardless of mode.
2006-02-08  Daniel Berlin  <dberlin@dberlin.org>

	* df-scan.c (df_def_record_1): A set destination may
	be a parallel regardless of mode.

From-SVN: r110761
2006-02-08 18:37:01 +00:00
Roger Sayle 3b83180522 re PR target/22209 (libgfortran unresolvable symbols on irix6.5)
PR target/22209
	* config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
	* config/mips/_tilib.c: Remove.
	* config/fixtfdi.c: New libgcc source file.
	* config/fixunstfdi.c: New source file.
	* config/floatditf.c: New source file.
	* config/floatunditf.c: New souce file.
	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
	files above instead of config/mips/_tilib.c.
	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.

From-SVN: r110760
2006-02-08 18:31:36 +00:00
Tom Tromey 855dd2bcff re PR java/22578 (should inline floatToIntBits et al)
gcc/java
	PR java/22578:
	* check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
	* builtins.c (convert_real): New function.
	(java_builtins): Handle Float.intBitsToFloat,
	Float.floatToRawIntBits, Double.longBitsToDouble,
	Double.doubleToRawLongBits.
libjava
	PR java/22578:
	* gcj/javaprims.h: Updated.
	* sources.am, Makefile.in: Rebuilt.
	* java/lang/natDouble.cc (doubleToLongBits): Moved to VMDouble.
	(doubleToRawLongBits): Likewise.
	(longBitsToDouble): Likewise.
	(toString): Likewise.
	(parseDouble): Likewise.
	* java/lang/natFloat.cc (floatToIntBits): Moved to VMFloat.
	(floatToRawIntBits): Likewise.
	(intBitsToFloat): Likewise.
	* java/lang/VMDouble.java: New file.
	* java/lang/VMFloat.java: New file.
	* java/lang/Float.java, java/lang/Double.java: Removed.

From-SVN: r110759
2006-02-08 18:06:11 +00:00
Jeff Law 59c02d8a61 tree-vrp.c (execute_vrp): Perform any queued SSA updates before threading jumps.
* tree-vrp.c (execute_vrp): Perform any queued SSA updates before
        threading jumps.

From-SVN: r110758
2006-02-08 10:31:20 -07:00
Paolo Bonzini a4add13fce scantree.exp (scan-tree-dump, [...]): Likewise.
2006-02-08  Paolo Bonzini  <bonzini@gnu.org>

	* lib/scantree.exp (scan-tree-dump, scan-tree-dump-times,
	scan-tree-dump-not, scan-tree-dump-dem): Likewise.

From-SVN: r110755
2006-02-08 13:08:44 +00:00
Paolo Bonzini 0444390f18 scanrtl.exp: New.
2006-02-08  Paolo Bonzini  <bonzini@gnu.org>

	* lib/scanrtl.exp: New.

From-SVN: r110754
2006-02-08 12:26:25 +00:00
Volker Reichelt af02935e3c re PR c++/26071 (ICE declaring destructor virtual and static)
PR c++/26071
	* decl.c (grokdeclarator): Set dname also for destructor.

	* g++.dg/other/virtual2.C: New test.

From-SVN: r110751
2006-02-08 11:21:27 +00:00
Volker Reichelt 7e1e0765bd re PR c++/26070 (ICE declaring data member virtual and static)
PR c++/26070
	* decl.c (grokdeclarator): Clear storage_class together with staticp.

	* g++.dg/other/virtual1.C: New test.

From-SVN: r110747
2006-02-08 11:00:55 +00:00
Zdenek Dvorak 053007ce71 df.h (DF_REG_SIZE): Return the length of the initialized part of the array.
* df.h (DF_REG_SIZE): Return the length of the initialized
	part of the array.

From-SVN: r110746
2006-02-08 10:54:45 +00:00
Richard Guenther fd97e46511 mpa.c: Do not include sys/param.h.
2006-02-08  Richard Guenther  <rguenther@suse.de>

	* dbl-64/mpa.c: Do not include sys/param.h.
	* dbl-64/mpa.h (MIN): Define.

From-SVN: r110745
2006-02-08 10:05:30 +00:00
Nathan Sidwell d55f9d230f lb1sf68.asm (__divsf3, [...]): Return a correctly signed zero.
* gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
	__muldf3): Return a correctly signed zero.

From-SVN: r110744
2006-02-08 09:58:55 +00:00
Paolo Bonzini bbbe4e7bf7 passes.c (register_one_dump_file): Accept the current properties instead of pass number.
2006-02-08  Paolo Bonzini  <bonzini@gnu.org>

	* passes.c (register_one_dump_file): Accept the current properties
	instead of pass number.  Adjust call to dump_register.  Remove
	duplicated code.
	(register_dump_files): Now a wrapper around...
	(register_dump_files_1): ... this one.  Do not modify the pass
	structure.
	(next_pass_1): Cosmetic fix.
	(execute_todo): Keep second parameter only.  Use curr_properties instead
	of fetching it from the pass structure.  Check and set last_verified.
	(execute_one_pass): Handle TODO_set_props.  Use curr_properties
	instead of fetching it from the pass structure.  Fix calls to
	execute_todo.  Update curr_properties and initialize .vcg RTL dump
	after running the pass.  Reset last_verified.
	* tree-dump.c (dump_files): Renumber consecutively.  Put .cgraph dump
	at the beginning.
	(FIRST_AUTO_NUMBERED_DUMP): New.
	(dump_register): Remove "num" parameter, assign it within the
	function.
	(get_dump_file_name): Modify template for dumps.
	* tree-dump.h (dump_register): Adjust prototype.
	* tree-pass.h (enum tree_dump_index): Move cgraph at the beginning.
	(PROP_trees): Add PROP_gimple_lomp.
	(TODO_set_props): New.
        * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf.
        * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh.
        * cfgexpand.c (pass_expand): Destroy PROP_trees.

gcc/testsuite:
2006-02-08  Paolo Bonzini  <bonzini@gnu.org>

	* lib/gcc-dg.exp (cleanup-rtl-dump, cleanup-tree-dump,
	cleanup-ipa-dump): Update dump file glob patterns.
	* lib/scantree.exp (scan-tree-dump, scan-tree-dump-times,
	scan-tree-dump-not, scan-tree-dump-dem): Likewise.
	* lib/scanipa.exp (scan-ipa-dump, scan-ipa-dump-times,
	scan-ipa-dump-not, scan-ipa-dump-dem): Likewise.

	* lib/scanrtl.exp: New.
	* lib/gcc-dg.exp: Load it.
	* objc.dg/stubify-2.m: Use scan-rtl-dump-not.

From-SVN: r110742
2006-02-08 08:13:20 +00:00
Jakub Jelinek fbf2ca7bb7 config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
	(sparc64-*-linux*): Likewise.
	* config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
	* config/sparc/t-linux: New file.
	* config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
	__floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
	(__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
	-m32 -mlong-double-128.

	* config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
	* config/alpha/t-linux: New file.
	* config/alpha/libgcc-alpha-ldbl.ver: New file.

	* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
	__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
	(CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
	* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
	__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
	(CPP_ARCH32_SPEC): Remove.

From-SVN: r110741
2006-02-08 08:19:43 +01:00
Thomas Fitzsimmons 25e8451eb7 jartool.h (ACTION_INDEX): New macro.
2006-02-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jartool.h (ACTION_INDEX): New macro.
	* jartool.c (main): Handle -i option.
	* fastjar.texi (Invoking fastjar): Add description of -i option.

From-SVN: r110739
2006-02-08 05:51:16 +00:00
Uttam Pawar 77f6ec058d re PR tree-optimization/26145 (memory leak in loop unswitching.)
2006-02-07  Uttam Pawar  <uttamp@us.ibm.com>

        PR tree-optimization/26145
        * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free
        bbs pointer.

From-SVN: r110738
2006-02-07 21:00:42 -05:00
GCC Administrator fb02551af3 Daily bump.
From-SVN: r110735
2006-02-08 00:17:17 +00:00
Janis Johnson a49d6234d8 re PR testsuite/26159 (pr23382.c and critical-3.c don't cleanup after themselves)
PR testsuite/26159
	* gcc.dg/gomp/critical-3.c: Call cleanup-tree-dump.
	* gcc.dg/tree-ssa/pr23382.c: Ditto.

From-SVN: r110729
2006-02-08 00:06:12 +00:00
Tobias Schlüter 43ff4e9aa3 re PR libfortran/25577 (gfortran routine mvbits returns wrong answer.)
libgfortran/
2006-02-07  Dale Ranta  <dir@lanl.gov>

	PR fortran/25577
	* intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.

testsuite/
2006-02-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/25577
	* gfortran.dg/mvbits_1.f90: New.

Also fixed Dirk Mueller's preceding ChangeLog entry.

From-SVN: r110728
2006-02-08 00:52:37 +01:00
Gabriel Dos Reis 23fca1f587 cp-tree.h (tf_warning_or_error): Renamed from tf_warn_or_error.
* cp-tree.h (tf_warning_or_error): Renamed from
          tf_warn_or_error.
        (cp_build_qualified_type): Propogate renaming.
        * call.c (convert_like_real): Likewise.
        * cvt.c (cp_convert_to_pointer, convert_to_reference):
          Likewise.
        * decl.c (make_typename_type, grokdeclarator): Likewise.
        * pt.c (tsubst_friend_function, instantiate_class_template,
        tsubst_default_argument, instantiate_decl,
        tsubst_initializer_list, tsubst_enum): Likewise.
        * semantics.c (finish_template_type): Likewise.
        * typeck.c (build_ptrmemfunc, convert_for_assignment):
          Likewise.

From-SVN: r110727
2006-02-07 23:25:02 +00:00
Jakub Jelinek 6defecc2d3 configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
2006-02-07  Jakub Jelinek  <jakub@redhat.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
	If true, set also port_specific_symbol_files and create
	as_symver_specs.
	(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.
	* config/os/gnu-linux/ldbl-extra.ver: New file.
	* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
	exported.
	* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
	_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
	_GLIBCXX_END_LDBL_NAMESPACE): Define.
	* include/bits/localefwd.h: Use them to conditionally scope facets.
	* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
	with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
	Surround std::{money,num}_{get,put}
	with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
	* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
	with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
	(std::money_get::__do_get, std::money_put::__do_put,
	std::num_get::__do_get, std::num_put::__do_put): New
	specializations.
	* include/Makefile.am: Conditionally define
	_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
	* include/Makefile.in: Regenerate.
	* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
	_GLIBCXX_SYNC_ID): Define, use them.
	* src/compatibility-ldbl.cc: New file.
	* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
	symbols.
	* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.	
	* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
	Likewise.
	* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
	Likewise.
	* src/Makefile.am (libstdc++-symbol.ver): Append instead of
	insert in the middle if port specific symbol file requests it.
	(ldbl_compat_sources): New variable.
	(sources): Use it.
	(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
	* src/Makefile.in: Rebuilt.
	* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
	GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.	


Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r110725
2006-02-07 22:23:58 +00:00
John David Anglin 40fc2e0b74 re PR target/26109 (ICE: Segmentation fault (program cc1) compiling _muldi3.o in stage1)
PR target/26109
	* pa.c (attr_length_indirect_call): Don't return length 8 for distances
	>= 240000 when generating code for SOM runtime.
	(output_indirect_call): Don't use "b,l" instruction for indirect calls
	to $$dyncall when generating code for SOM runtime..

From-SVN: r110721
2006-02-07 22:09:52 +00:00
Eric Botcazou cb2bbc673b libgomp-dg.exp (libgomp_init): Compute multilib-related part of LD_LIBRARY_PATH manually.
* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib-related
	part of LD_LIBRARY_PATH manually.

From-SVN: r110720
2006-02-07 21:57:38 +00:00
Dirk Mueller 7127d9c7d1 re PR c++/18150 (Should enable -Wsequence-point for C++)
2006-02-07  Dirk Mueller  <dmueller@suse.com>

       PR c++/18150
       * doc/invoke.texi (-Wsequence-point): Update documentation
       that -Wsequence-point is implemented for C++ as well.

From-SVN: r110719
2006-02-07 21:47:55 +00:00
Eric Botcazou f5e2061b45 sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
* config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
	* config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	* doc/invoke.texi (SPARC options): Document -pthread.

From-SVN: r110717
2006-02-07 20:50:37 +00:00
Geoffrey Keating 7931b1be50 i386.c (ix86_delegitimize_address): Support Darwin PIC addresses.
* config/i386/i386.c (ix86_delegitimize_address): Support Darwin
	PIC addresses.

From-SVN: r110716
2006-02-07 20:13:24 +00:00
Roger Sayle 62de55f71f sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
* config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
	Correct comment describing BOOLEAN_TYPE.

From-SVN: r110715
2006-02-07 20:11:12 +00:00
Jeff Law 29ba5b7a7c pr21559.c: New test.
* gcc.dg/tree-ssa/pr21559.c: New test.

From-SVN: r110713
2006-02-07 12:59:34 -07:00
Dirk Mueller 1104b28bc8 c.opt: C++ frontend supports -Wdiv-by-zero.
2006-02-07  Dirk Mueller <dmueller@suse.com>

        * c.opt: C++ frontend supports -Wdiv-by-zero.
        * c-opts.c (c_common_handle_option): Remove dead case.

        * typeck.c (build_binary_op): Annotate div-by-zero
        warnings to make -Wno-div-by-zero have an effect.

        g++.dg/warn/Wdiv-by-zero.C: New test.
        g++.dg/warn/Wno-div-by-zero.C: New.

From-SVN: r110712
2006-02-07 19:41:14 +00:00
Andrew Haley 7135d758bc Comment typo.
From-SVN: r110711
2006-02-07 19:04:59 +00:00
Andrew Haley 0920886f9f re PR java/25535 (gcj broken on 64-bit big-endian systems)
2006-02-07  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_invoke): (BC mode.)  If we find a method in a
        class other than the one in which we expected to find it, ignore
        the result.

        PR java/25535
        * constants.c (build_constants_constructor): move initializer into
        first halfword on a 6-bit big-endian machine.

From-SVN: r110710
2006-02-07 19:02:39 +00:00
Eric Botcazou 7935dc1bc3 configure.ac (TLS assembler check): Do not enable TLS by default on SPARC/Solaris before version 10.
* configure.ac (TLS assembler check): Do not enable TLS by
	default on SPARC/Solaris before version 10.
	* configure: Regenerate.

From-SVN: r110707
2006-02-07 18:53:20 +00:00
David Edelsohn 8fbe3bb2ef invoke.texi (xl-compat): Document conversion and support routine names.
* doc/invoke.texi (xl-compat): Document conversion and support
	routine names.

From-SVN: r110706
2006-02-07 13:36:23 -05:00
Jeff Law 2090d6a0a8 tree-vrp.c (find_conditional_asserts): Update comments.
2006-02-07  Jeff Law  <law@redhat.com>

	* tree-vrp.c (find_conditional_asserts): Update comments.
	(simplify_stmt_for_jump_threading): New.
	(identify_jump_threads, finalize_jump_threads): New.
	(vrp_finalize): Call identify_jump_threads.
	(execute_vrp): Call finalize_jump_threads.
	* tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field.
	(vrp_element, vrp_data, vrp_element_p): Remove.
	(vrp_hash_elt, vrp_variables_stack): Remove.
	(vrp_hash, vrp_eq, record_range): Remove.
	(simplify_cond_and_lookup_avail_expr): Remove.
	(extract_range_from_cond): Remove.
	(thread_across_edge): Relocated into tree-ssa-threadedge.c.
	(simplify_stmt_for_jump_threading): New.
	(dom_thread_across_edge): New wrapper.
	(tree_ssa_dominator_optimize): No longer initialize or
	finalize any of the VRP datastructures.  Remove iteration
	step and simplify as a result of removal of iteration step.
	(pass_dominator): Perform a cfg cleanup after DOM.
	(dom_opt_finalize_block): Use the new common routines
	for threading jumps.  Simplify stack management slightly.
	No longer need to unwind VRP state.
	(record_equivalences_from_incoming_edge): No longer record
	VRP information.
	(eliminate_redundant_computations): No longer call
	simplify_cond_and_lookup_avail_expr.
	* tree-flow.h (potentially_threadable_block): Prototype.
	(thread_across_edge): Likewise.
	* Makefile.in (OBJS-common):  Add tree-ssa-threadedge.o
	(tree-ssa-threadedge.o): Add dependencies.
	* tree-ssa-threadedge.c: New file.
	* passes.c (init_optimization_passes): Merge PHIs before
	calling VRP.  Run VRP again late in the SSA optimization pipeline.


	* gcc.dg/tree-ssa/vrp01.c: Update dumpfile names now that we have
	multiple VRP passes.
	* gcc.dg/tree-ssa/vrp09.c: Likewise.
	* gcc.dg/tree-ssa/vrp18.c: Likewise.
	* gcc.dg/tree-ssa/pr21582.c: Likewise.
	* gcc.dg/tree-ssa/pr20657.c: Likewise.
	* gcc.dg/tree-ssa/pr21001.c: Likewise.
	* gcc.dg/tree-ssa/vrp02.c: Likewise
	* gcc.dg/tree-ssa/vrp11.c: Likewise
	* gcc.dg/tree-ssa/pr14341.c: Likewise
	* gcc.dg/tree-ssa/vrp19.c: Likewise
	* gcc.dg/tree-ssa/vrp20.c: Likewise
	* gcc.dg/tree-ssa/vrp03.c: Likewise
	* gcc.dg/tree-ssa/pr21086.c: Likewise
	* gcc.dg/tree-ssa/pr21959.c: Likewise
	* gcc.dg/tree-ssa/vrp21.c: Likewise
	* gcc.dg/tree-ssa/vrp04.c: Likewise 
	* gcc.dg/tree-ssa/pr25485.c: Likewise
	* gcc.dg/tree-ssa/pr22026.c: Likewise
	* gcc.dg/tree-ssa/vrp22.c: Likewise
	* gcc.dg/tree-ssa/vrp05.c: Likewise
	* gcc.dg/tree-ssa/20030807-10.c: Likewise
	* gcc.dg/tree-ssa/pr20701.c: Likewise
	* gcc.dg/tree-ssa/vrp23.c: Likewise
	* gcc.dg/tree-ssa/vrp06.c: Likewise
	* gcc.dg/tree-ssa/pr22117.c: Likewise
	* gcc.dg/tree-ssa/pr20702.c: Likewise
	* gcc.dg/tree-ssa/vrp15.c: Likewise
	* gcc.dg/tree-ssa/pr21090.c: Likewise
	* gcc.dg/tree-ssa/pr21294.c: Likewise
	* gcc.dg/tree-ssa/vrp24.c: Likewise
	* gcc.dg/tree-ssa/vrp07.c: Likewise
	* gcc.dg/tree-ssa/pr21563.c: Likewise
	* gcc.dg/tree-ssa/pr25382.c: Likewise
	* gcc.dg/tree-ssa/vrp16.c: Likewise
	* gcc.dg/tree-ssa/vrp25.c: Likewise
	* gcc.dg/tree-ssa/vrp08.c: Likewise
	* gcc.dg/tree-ssa/20030807-6.c: Likewise
	* gcc.dg/tree-ssa/vrp17.c: Likewise
	* gcc.dg/tree-ssa/pr21458.c: Likewise
	* g++.dg/tree-ssa/pr18178.C: Likewise

From-SVN: r110705
2006-02-07 11:31:27 -07:00
Eric Botcazou e45dcf9c6e df-core.c (df_set_blocks): Do not dereference function pointers.
* df-core.c (df_set_blocks): Do not dereference function pointers.
	(df_finish1): Likewise.
	(df_hybrid_search_forward): Likewise.
	(df_hybrid_search_backward): Likewise.
	(df_iterative_dataflow): Likewise.
	(df_analyze_problem): Likewise.
	(df_compact_blocks): Likewise.
	(df_dump): Likewise.
	* df-scan.c (df_rescan_blocks): Likewise.
	(df_record_entry_block_defs): Likewise.

	* genconditions.c (write_conditions): Guard the definition of
	'insn_conditions' with the check on GCC version.
	(write_writer): Guard the traversal 'insn_conditions' with
	the check on GCC version.

From-SVN: r110702
2006-02-07 18:04:29 +00:00
Rainer Emrich 0e5264e8ea c99_functions.c: Work around incompatible declarations of cabs{,f,l} on pre-C99 IRIX systems.
2006-02-07  Rainer Emrich <r.emrich@de.tecosim.com>

	* intrinsics/c99_functions.c: Work around incompatible
        declarations of cabs{,f,l} on pre-C99 IRIX systems.

From-SVN: r110700
2006-02-07 18:26:54 +01:00
Richard Guenther 328654cc92 re PR c++/26140 (ice on valid C++ code)
2006-02-07  Richard Guenther  <rguenther@suse.de>

	PR c++/26140
	Revert
	2006-01-30  Richard Guenther  <rguenther@suse.de>
 	PR c++/23372
 	* gimplify.c (gimplify_target_expr): Handle easy cases
 	without creating a temporary.

	Revert
	2006-01-30  Richard Guenther  <rguenther@suse.de>
 	PR c++/23372
 	* gcc.dg/pr23372-1.C: New testcase.

	* g++.dg/tree-ssa/pr26140.C: New testcase.

From-SVN: r110699
2006-02-07 15:36:44 +00:00
Paolo Carlini 774b9d213a [multiple changes]
2006-02-07  Paolo Carlini  <pcarlini@suse.de>	

	* include/tr1/hashtable: Trivial formatting fixes.

2006-02-07  Paolo Carlini  <pcarlini@suse.de>
	    Zak Kipling  <zak@transversal.com>

	PR libstdc++/26127
	* include/tr1/hashtable (hashtable<>::key_equal): Define.
	(hashtable<>::bucket, rehash_base<>::max_load_factor): Fix.
	* testsuite/tr1/6_containers/unordered/hashtable/26127.cc: New.

Co-Authored-By: Zak Kipling <zak@transversal.com>

From-SVN: r110697
2006-02-07 15:11:10 +00:00
Paolo Carlini 4f0de5dd33 cmath: New.
2006-02-07  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/cmath: New.
	* include/tr1/cstdlib: Likewise.
	* include/tr1/ctime: Likewise.
	* include/tr1/math.h: Likewise.	
	* include/tr1/stdlib.h: Likewise.
	* include/Makefile.am: Add.
	* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <math.h> checks.
	* testsuite/tr1/8_c_compatibility/cmath/functions.cc: New.
	* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Likewise.
	* testsuite/tr1/headers.cc: Update.	

	* include/tr1/cinttypes: Do not provide abs and div, conflicting
	with the above overloads for _Longlong types.
	* include/tr1/inttypes.h: Adjust.
	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Adjust.

	* docs/html/ext/tr1.html: Update.
	
	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.

	* include/Makefile.in: Regenerate.
	* config.h.in: Likewise.
	* configure: Likewise.

From-SVN: r110696
2006-02-07 13:14:03 +00:00
Richard Guenther 88e23c503a re PR bootstrap/26050 (Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86)
2006-02-07  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/26050
	* configure.ac: Generate gstdint.h using GCC_HEADER_STDINT.
	* configure: Re-generate.
	* Makefile.in: Likewise. 
	* aclocal.m4: Likewise.
	* i386/Makefile.am: Adjust include path.
	* i386/Makefile.in: Re-generate.
	* include/math_private.h: Do not include sys/types.h.
	Include gstdint.h.  Use uint32_t instead of u_int32_t.
	* flt-32/e_expf.c: Do not include inttypes.h
	* flt-32/e_sqrtf.c: Use uint32_t instead of u_int32_t.
	* flt-32/s_floorf.c: Likewise.
	* flt-32/e_atan2f.c: Likewise.
	* flt-32/e_powf.c: Likewise.
	* flt-32/e_rem_pio2f.c: Likewise.
	* flt-32/e_log10f.c: Likewise.
	* dbl-64/s_floor.c: Likewise.
	* dbl-64/e_log10.c: Likewise.
	* dbl-64/e_rem_pio2.c: Likewise.

From-SVN: r110694
2006-02-07 11:37:15 +00:00
Mark Mitchell e7e9396544 re PR c++/9737 ([DR150] Partial template specialisation selection failure involving template parameter defaults)
PR c++/9737
	* pt.c (coerce_template_template_parms): Do not templates with
	excess default arguments to match template template parameters
	with fewer parameters.
	(coerce_template_parms): Add use_default_args parameter; use
	default arguments only when true.
	(lookup_template_class): Adjust call to coerce_template_parms.
	(fn_type_unification): Likewise.
	(unify): Likewise.
	(get_bindings): Likewise.
	(dependent_type_p): Add assertions.

	PR c++/9737
	* g++.dg/template/ttp15.C: New test.
	* g++.dg/template/ttp16.C: Likewise.
	* g++.dg/template/ttp17.C: Likewise.
	* g++.old-deja/g++.pt/ttp36.C: Remove.
	* g++.old-deja/g++.pt/ttp19.C: Likewise.
	* g++.old-deja/g++.pt/ttp37.C: Likewise.
	* g++.old-deja/g++.pt/ttp38.C: Likewise.
	* g++.old-deja/g++.pt/ttp39.C: Likewise.
	* g++.old-deja/g++.pt/ttp9.C: Likewise.
	* g++.old-deja/g++.pt/ttp40.C: Likewise.
	* g++.old-deja/g++.pt/ttp51.C: Likewise.
	* g++.old-deja/g++.pt/ttp26.C: Likewise.
	* g++.old-deja/g++.pt/ttp36.C: Likewise.

	* testsuite/testsuite_tr1.h (test_property): New function.
	* testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc 
	(test01)

From-SVN: r110693
2006-02-07 11:11:30 +00:00
Pete Steinmetz 3696813180 sched-rgn.c (compute_dom_prob_ps, [...]): Eradicate use of float in probability computations.
2006-02-07  Pete Steinmetz  <steinmtz@us.ibm.com>

        * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate
	use of float in probability computations.  Use edge probabilities
	in place of statically computed probabilities.
	(min_spec_prob): New static variable.
	(schedule_insns): Initialize it.
	(GET_SRC_PROB): Removed.
	* doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob.

From-SVN: r110690
2006-02-07 08:07:00 +00:00
Alexandre Oliva a58b03427c re PR debug/24444 (invalid register in debug info)
2006-02-07  Alexandre Oliva  <aoliva@redhat.com>

	PR debug/24444
	* config/ia64/unwind-ia64.c: Revert last change.
	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
	(INCOMING_FRAME_SP_OFFSET): Define.

From-SVN: r110688
2006-02-07 07:51:39 +01:00
Roger Sayle b38a05d083 decl.c (grokdeclarator): Don't bother checking for CHAR_TYPE.
* decl.c (grokdeclarator): Don't bother checking for CHAR_TYPE.
	* rtti.c (typeinfo_in_lib_p): Likewise.
	* cp-tree.h (INTEGRAL_CODE_P, CP_INTEGRAL_TYPE_P): Likewise.
	* name-lookup.c (arg_assoc_type): Likewise.

From-SVN: r110687
2006-02-07 03:40:19 +00:00
Roger Sayle 0cc8f5c5a0 ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.
* config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.

From-SVN: r110686
2006-02-07 03:20:46 +00:00
Maxim Kuvyrkov bd37fbf5d0 MAINTAINERS (Write After Approval): Add myself.
2006-02-07  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r110685
2006-02-07 02:37:38 +00:00
Ben Elliston a81083b271 i386.c (ix86_scalar_mode_supported_p): New.
* config/i386/i386.c (ix86_scalar_mode_supported_p): New.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Define hook.
	(classify_argument): Handle SDmode, DDmode, TDmode for 64-bit.
	(ix86_return_in_memory): Handle TDmode.
	(ix86_libcall_value): Handle SDmode, DDmode, TDmode.
	(ix86_value_regno): Return non-TDmode decimal float modes in %eax.

From-SVN: r110684
2006-02-07 13:28:56 +11:00