Commit Graph

52302 Commits

Author SHA1 Message Date
Andrew Pinski
3390f9c9be PR c++/10538, PR c/5582
ChangeLog:
        * langhooks-def.h (lhd_decl_uninit): Declare.
        (LANG_HOOKS_DECL_UNINIT): New macro.
        (LANG_HOOKS_INITIALIZER): Adjust.
        * langhooks.h (struct lang_hooks): Add new field
        decl_uninit.
        * langhooks.c (lhd_decl_uninit): Define.
        * c-common.c (c_decl_uninit_1): New function.
        (c_decl_uninit): New function.
        (warn_init_self): Define.
        * c-common.h (c_decl_uninit): Declare.
        (warn_init_self): Declare.
        * c.opt: Introduce -Winit-self.
        * c-opts.c (c_common_handle_options): Set warn_init_self.
        * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
        * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
        * function.c (uninitialized_vars_warning): Call the language hook.
        * doc/invoke.texi: Document -Winit-self.


cp/ChangeLog:
        * cp/cp-lang.c (LANG_HOOKS_DECL_UNINIT): Define.


testsuite:
        * gcc.dg/uninit-D.c: New Test.
        * gcc.dg/uninit-E.c: New Test.
        * gcc.dg/uninit-F.c: New Test.
        * gcc.dg/uninit-G.c: New Test.

From-SVN: r70574
2003-08-19 13:29:01 -07:00
Andrew Pinski
02a2edc088 *** empty log message ***
From-SVN: r70573
2003-08-19 13:12:44 -07:00
Jeff Sturm
ab3d4713ce libjava.exp (libjava_arguments): Add $libjava to the list of libraries.
2003-08-19  Jeff Sturm  <jsturm@one-point.com>

	* lib/libjava.exp (libjava_arguments): Add $libjava to the list of
	libraries.

From-SVN: r70572
2003-08-19 19:44:44 +00:00
Chris Demetriou
d68f4cc480 mips.md: Adjust SI-mode "trap_if" instruction to use better predicates and constraints.
2003-08-19  Chris Demetriou  <cgd@broadcom.com>

        * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
        to use better predicates and constraints.  Define new
        instruction to handle "trap_if" with DI-mode arguments.
        (conditional_trap): FAIL if trap code is not 0.

From-SVN: r70570
2003-08-19 11:09:06 -07:00
Andrew Pinski
86ecdfb60e i386.c (legitimate_pic_address_disp_p): Change the strstr with $pb to a strcompare with "<pic base>"
2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
        strstr with $pb to a strcompare with "<pic base>"
        (ix86_output_addr_diff_elt): Output the real pic base.

From-SVN: r70569
2003-08-19 10:17:27 -07:00
Michael Ritzert
7f5d157fce README: Describe the pch directory.
2003-08-19  Michael Ritzert  <ritzert@t-online.de>

	* g++.dg/README: Describe the pch directory.

From-SVN: r70568
2003-08-19 16:58:13 +00:00
Kriang Lerdsuwanakij
b54f5338d9 re PR c++/11174 (derived class can access protected base class member function through pointer to member function)
PR c++/11174
	* init.c (build_offset_ref): Perform access checking for
	pointer to member correctly.

	* g++.dg/parse/access4.C: New test.
	* g++.dg/parse/access5.C: Likewise.
	* g++.old-deja/g++.jason/access17.C: Adjust error message.

From-SVN: r70566
2003-08-19 12:55:00 +00:00
Danny Smith
3ab37c7de7 re PR libgcj/11575 ([win32] Problem with RandomAccessFile)
PR libgcj/11575
	* java/io/natFileDescriptorWin32.cc (open): Set create
	flag to OPEN_AWAYS when READ & WRITE regardless of APPEND flag.
	Honor EXCL when openning with WRITE flag.

From-SVN: r70565
2003-08-19 11:59:56 +00:00
Mohan Embar
dca5e0e850 jvm.h: New class _Jv_TempUTFString (helper class for getting a temporary C string from...
* include/jvm.h: New class _Jv_TempUTFString (helper class for
	getting a temporary C string from a jstring)
	New macro JV_TEMP_UTF_STRING, which leverages _Jv_TempUTFString
	but uses a stack buffer if the string length is less than 256
	bytes.

From-SVN: r70564
2003-08-19 11:48:59 +00:00
Petur Runolfsson
1b391ba942 ropeimpl.h: #include <ostream> instead of <iostream>
2003-08-18  Petur Runolfsson  <peturr02@ru.is>

        * include/ext/ropeimpl.h:
        #include <ostream> instead of <iostream>

From-SVN: r70562
2003-08-19 08:03:09 +00:00
Gabriel Dos Reis
fc95cf7078 langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
* langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
        (LANG_HOOKS_INITIALIZER): Correct.
        * c-lang.c: Likewise.
cp/
        * cp-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.

From-SVN: r70561
2003-08-19 07:48:46 +00:00
Jan Hubicka
810db5799b cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
* cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
	(cgraph_varpool_mark_needed_node): Likewise.
	* cgraph.h (notice_global_symbol): Declare
	* varasm.c (notice_global_symbol): Break out from ...
	(assemble_start_function): ... here; update for variables.
	(assemble_variable): Use notice_global_symbol.

From-SVN: r70559
2003-08-19 07:37:07 +00:00
Richard Sandiford
fc4fe9e434 mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P...
* config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
	expect SFmode and DFmode arguments to be passed in FPRs,
	regardless of the underlying type.

From-SVN: r70557
2003-08-19 06:17:00 +00:00
Richard Sandiford
4b8174ff7a re PR target/11924 (mips64-linux o32 accesses to certain file-local data incorrectly generated)
PR target/11924
	* config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
	(mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.

From-SVN: r70556
2003-08-19 06:15:09 +00:00
Matt Kraai
622adc7e1d re PR c/11207 (ICE with negative index in array element designator)
PR c/11207
	* c-typeck.c (set_init_index): Check for negative index.

(testsuite/)
	* gcc.dg/noncompile/20030818-1.c: New.

From-SVN: r70553
2003-08-19 01:36:29 +00:00
Bob Wilson
dfccfad9bb crti.asm (_init, _fini): Add alternate code for new call0 ABI.
* config/xtensa/crti.asm (_init, _fini): Add alternate code for new
        call0 ABI.
        * config/xtensa/crtn.asm (_init, _fini): Likewise.
        * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
        __umodsi3, __modsi3): Likewise.
        * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
        $(INCLUDES).

From-SVN: r70552
2003-08-19 00:16:36 +00:00
GCC Administrator
ba45771e5d Daily bump.
From-SVN: r70550
2003-08-19 00:16:09 +00:00
Aldy Hernandez
fe9c3a97b8 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
From-SVN: r70545
2003-08-18 16:54:15 +00:00
Tom Tromey
0da021f5cc re PR libgcj/11951 (natMethod.cc (_Jv_CallAnyMethodA) should clear ffi_result before ffi_call)
PR libgcj/11951:
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Returns
	void.  Throw VirtualMachineError if ffi fails.  Initialize return
	value.  Added is_jni_call argument; only wrap exception if not a
	JNI call.  Use descriptive message if operation not supported.
	(_Jv_GetTypesFromSignature): Use declaring class' loader to find
	array class.
	* include/jvm.h (_Jv_CallAnyMethodA): Updated declaration.
	* jni.cc (_Jv_JNI_CallAnyMethodV): Updated for new form of
	_Jv_CallAnyMethodA.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
	(_Jv_JNI_CallAnyVoidMethodA): Likewise.

From-SVN: r70544
2003-08-18 14:36:07 +00:00
Tom Tromey
cd06983639 re PR libgcj/11951 (natMethod.cc (_Jv_CallAnyMethodA) should clear ffi_result before ffi_call)
PR libgcj/11951:
	* libjava.jni/pr11951.c: New file.
	* libjava.jni/pr11951.out: New file.
	* libjava.jni/pr11951.java: New file.

From-SVN: r70543
2003-08-18 14:35:34 +00:00
Nathan Sidwell
303b74068a re PR c++/11957 (wrong "warning: statement has no effect")
cp:
	PR c++/11957
	* cp-tree.h (finish_stmt_expr): Add bool parameter.
	* init.c (finish_init_stmts): Pass true to finish_stmt_expr. Don't
	adjust the stmt_expr here.
	(build_vec_init): Use finish_stmt_expr_expr, convert result to
	array type.
	* parser.c (cp_parser_primar_expression): Adjust finish_stmt_expr
	call.
	* pt.c (tsubst_copy): Likewise.
	* semantics.c (finish_stmt_expr): Add parameter.
testsuite:
	PR c++/11957
	* g++.dg/warn/noeffect1.C: New test.

From-SVN: r70541
2003-08-18 12:55:04 +00:00
Nathan Sidwell
a2507277ed pt.c (instantiate_class_template): Push to class's scope before tsubsting base.
cp:
	* pt.c (instantiate_class_template): Push to class's scope before
	tsubsting base.
testsuite:
	* g++.dg/template/scope2.C: New test.
	* g++.dg/template/error2.C: Correct dg-error

From-SVN: r70540
2003-08-18 12:44:22 +00:00
Nathan Sidwell
5d87256426 apparently missing part of 2003-08-15 checkin
apparently missing part of 2003-08-15 checkin
	* decl.c (make_typename_type): Use my_friendly_assert.

From-SVN: r70539
2003-08-18 12:38:04 +00:00
Ian Dall
a4ce4cf7db Add Ian Dall as ns32k port maintainer.
From-SVN: r70538
2003-08-18 12:19:12 +00:00
Richard Sandiford
8edf7a6d58 * gcc.c-torture/compile/mipscop*.c: Turn into compile-only tests.
From-SVN: r70536
2003-08-18 08:02:00 +00:00
Richard Sandiford
431d5fdd34 mips.md: Quote C code in braces.
* config/mips/mips.md: Quote C code in braces.  Remove use of
	fake const0_rtx operands.  Remove double backslashes.  Use \;.
	Remove workarounds for bogus warnings.

From-SVN: r70535
2003-08-18 08:00:13 +00:00
Richard Sandiford
4195786e34 mips.md (muldf3, mulsf3): Don't call a gen_* function.
* config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
	(muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
	rather than TARGET_MIPS4300.
	(mulsf3_internal, mulsf3_r4300): Likewise.

From-SVN: r70534
2003-08-18 07:58:06 +00:00
Richard Sandiford
6d4ede5fc2 * config/mips/mips.md: Renumber unspecs. Clean up comments.
From-SVN: r70533
2003-08-18 07:55:23 +00:00
GCC Administrator
aba1f3707b Daily bump.
From-SVN: r70529
2003-08-18 00:16:06 +00:00
Phil Edwards
77e862fac4 configure.ac: GCC_NO_EXECUTABLES was supposed to be commented in the patch from 3 minutes ago.
2003-08-17  Phil Edwards  <pme@gcc.gnu.org>

	* configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
	in the patch from 3 minutes ago.  Boy, is my face red.
	* configure:  At least I remembered to regenerate this.

From-SVN: r70523
2003-08-17 20:27:28 +00:00
Phil Edwards
0df3f383ef acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES and LIBSUPCXX_INCLUDES.
2003-08-17  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
	and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
	things from the top level.
	* configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
	Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
	(currently unused).  Strip the fake-VPATH shell fragment from
	automake-generated rules, if present.
	* linkage.m4:  Add comment.

	* fragment.am:  New file, containing factored-out common settings.
	(AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
	* Makefile.am:  Include fragment.am.  Remove common variables.
	* include/Makefile.am:  Likewise.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* po/Makefile.am:  Likewise.  Print rules during check.
	* src/Makefile.am:  Likewise.
	* testsuite/Makefile.am:  Likewise.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in:  Regenerate.

From-SVN: r70522
2003-08-17 20:23:12 +00:00
Roger Sayle
dd61aa98ca simplify-rtx.c (associative_constant_p): New function to test whether an RTX expression is an immediate constant.
* simplify-rtx.c (associative_constant_p): New function to test
	whether an RTX expression is an immediate constant.
	(simplify_associative_operation): New function to perform some
	reassociation optimizations of associative binary expressions.
	(simplify_binary_operation): Use simplify_associative_operation
	to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
	Floating point expressions are only reassociated when unsafe
	math optimizations are permitted.

From-SVN: r70521
2003-08-17 19:24:09 +00:00
Andreas Jaeger
fde46628fa Convert K&R prototypes to ISO C90.
From-SVN: r70516
2003-08-17 12:28:42 +02:00
Andreas Jaeger
9c808aadb0 alpha.md: Remove usage of PARAMS.
* config/alpha/alpha.md: Remove usage of PARAMS.

        * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
        * config/i386/i386-interix.h: Likewise.
        * config/i386/winnt.c: Likewise.
        * config/i386/cygming.h: Likewise.
        * config/i386/cygwin2.c: Likewise.
        * config/darwin.c: Likewise.
        * config/darwin-c.c: Likewise.
        * config/darwin-protos.h: Likewise.
        * config/darwin.h: Likewise.
        * config/s390/s390-protos.h: Likewise.
        * config/s390/s390.c: Likewise.
        * config/ia64/ia64.c: Likewse
        * config/ia64/ia64-protos.h: Likewise.

From-SVN: r70515
2003-08-17 12:00:04 +02:00
Jan Hubicka
e20bcc5e13 re PR c++/11702 ([unit-at-a-time] Failure to emit code for inlined function in space)
PR C++/11702
	* semantics.c (finish_id_expression): Mark all functions as used.

From-SVN: r70514
2003-08-17 08:07:27 +00:00
GCC Administrator
d234f34116 Daily bump.
From-SVN: r70512
2003-08-17 00:16:06 +00:00
Kaveh R. Ghazi
fc27d1023c * config/sparc/sparc.c: Convert to ISO C.
From-SVN: r70510
2003-08-16 23:59:56 +00:00
Kaveh R. Ghazi
e80d5f8061 sparc-protos.h: Don't use the PARAMS macro.
* config/sparc/sparc-protos.h: Don't use the PARAMS macro.
	* config/sparc/sparc.c: Likewise.

From-SVN: r70509
2003-08-16 22:13:39 +00:00
Gerald Pfeifer
ae7a543957 gcc_release (build_sources): Use two new variables EXPORTTAG and EXPORTDATE to make the extraction of...
* gcc_release (build_sources): Use two new variables EXPORTTAG and
	EXPORTDATE to make the extraction of sources more transparent and
	also allow snapshots (off mainline) without a tag.

From-SVN: r70507
2003-08-16 14:02:24 +00:00
Nathan Sidwell
bfeec33d09 Remove 3.4 change list, point to gcc-3.4/changes.html
From-SVN: r70506
2003-08-16 13:49:27 +00:00
Nathan Sidwell
e895113a67 re PR c++/11512 (Spurious warning for comma-operator in templates)
PR c++/11512
	* stmt.c (expand_expr_stmt_value): Don't warn about any void
	typed expression.
cp:
	PR c++/11512
	* cvt.c (convert_to_void): Indicate which side of conditional has
	no effects, and rhs of comma operator. Test for no sideeffect
	expressions here and always build a convert expr.
	* init.c (expand_default_init): Convert the init to void.
	* typeck.c (build_x_compound_expr): Do not check for side effects
	here.
	(build_compound_expr): Do not convert lhs when building a
	template.
testsuite:
	PR C++/11512
	* g++.dg/template/warn1.C: New.

From-SVN: r70505
2003-08-16 13:32:11 +00:00
Jan Hubicka
e767b5be43 i386.c (ix86_fntype_regparm): Rename from ...
* i386.c (ix86_fntype_regparm): Rename from ...
	(ix86_function_regparm): ... this one; add fastcall and local
	functions.
	(ix86_function_ok_for_sibcall): Update.
	(ix86_return_pops_args): Likewise.
	(init_cumulative_args): Likewise.
	(x86_can_output_mi_thunk): Likewise.
	(function_arg): Fix formating.
	(x86_this_parameter): Fix fastcall.
	(x86_output_mi_thunk): Likewise.

	* cgraph.c (cgraph_mark_needed_node): Do not mark functions without
	body as reachable; mark nested functions as needed too.
	(dump_cgraph): Do not output global.calls.
	* cgraph.h (cgraph_global_info): Kill.
	* cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
	(record_call_1): Speedup.
	(cgraph_analyze_function): Break out from ...; compute inlining
	parameters.
	(cgraph_finalize_compilation_unit): ... here.
	(cgraph_mark_inline): Kill computation of calls.
	(cgraph_decide_inlining): Do not compute most of initial values.

From-SVN: r70504
2003-08-16 11:04:59 +00:00
GCC Administrator
5ab7486eee Daily bump.
From-SVN: r70498
2003-08-16 00:16:07 +00:00
Nathan Sidwell
018a580308 cp-tree.def (NON_DEPENDENT_EXPR): Add operand.
* cp-tree.def (NON_DEPENDENT_EXPR): Add operand.
	* decl2.c (build_offset_ref_call_from_tree): Use
	build_non_dependent_expr.
	* error.c (dump_expr) <NON_DEPENDENT_EXPR case>: Dump the operand.
	* pt.c (build_non_dependent_expr): Set operand.

From-SVN: r70478
2003-08-15 12:15:56 +00:00
Jan Hubicka
6cad4e1709 decl2.c (mark_member_pointers): Rename to...
* decl2.c (mark_member_pointers): Rename to...
	(mark_member_pointers_and_eh_tinfos): ... this one; deal with eh tinfos
	(lower_function): Update call.
	* except.c (eh_type_info): Break out from ...
	(build_eh_type): ... here; tinfo is already used.
        (finish_eh_spec_block): Mark tinfos as used.
        * semantics.c (finish_handler_params): Mark tinfo as used.
	* cp-tree.h(eh_type_info): Declare.

From-SVN: r70477
2003-08-15 11:14:01 +00:00
Nathan Sidwell
68ea098a05 cp: * pt.c (instantiate_class_template): Set location before substuting bases.
cp:	* pt.c (instantiate_class_template): Set location before
	substuting bases.
testsuite:
	* g++.dg/template/error2.C: New test.
	* g++.dg/lookup/using7.C: Adjust errors
	* g++.old-deja/g++.pt/crash36.C: Likewise.
	* g++.old-deja/g++.pt/derived3.C: Likewise.

From-SVN: r70476
2003-08-15 10:46:51 +00:00
Nathan Sidwell
4f7847cab9 decl.c (make_typename_type): Use my_friendly_assert.
* decl.c (make_typename_type): Use my_friendly_assert.
	* pt.c (tsubst_aggr_type): Rearrange context substitution.

From-SVN: r70475
2003-08-15 10:23:46 +00:00
Jan Hubicka
ab0ba00c84 * method.c (use_thunk): Expand body directly.
From-SVN: r70473
2003-08-15 08:55:48 +00:00
GCC Administrator
34945b31d9 Daily bump.
From-SVN: r70459
2003-08-15 00:16:08 +00:00
Roger Sayle
8ab49fef1f fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy to negate if either operand is easy to negate...
* fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
	to negate if either operand is easy to negate, if we don't care
	about sign-dependent rounding.
	(negate_expr): Make the logic to negate a REAL_CST explicit.
	Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
	that's easy to negate, if we don't honor sign-dependent rounding.
	(fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
	negate, and the symmetric A * -B as -A * B if A is easy to negate.
	(fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
	-C/D if B and C are cheap to negate.  Add an explicit rule to
	optimize X/-1.0 as -X when we don't care about signaling NaNs.

From-SVN: r70455
2003-08-14 20:53:26 +00:00