Commit Graph

44528 Commits

Author SHA1 Message Date
Jakub Jelinek
1bed5ee327 fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one of the operands into MINUS_EXPR if...
* fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
	of the operands into MINUS_EXPR if code is PLUS_EXPR.

	* gcc.c-torture/execute/20020805-1.c: New test.

From-SVN: r56058
2002-08-05 21:26:27 +02:00
Jakub Jelinek
5133ad466a * consistency.vlad/layout/endian.c: Include string.h.
From-SVN: r56057
2002-08-05 21:19:32 +02:00
Douglas B Rupp
84512347f7 config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2002-08-05  Douglas B Rupp  <rupp@gnat.com>

	* config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
	* config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
	drectve_section): Define.
	* config/i386/t-interix: Replace interix.o rule with winnt.o.
	* config/i386/interix.c: Remove.

From-SVN: r56056
2002-08-05 18:53:16 +00:00
Geoffrey Keating
b3426eb9e2 Index: ChangeLog
2002-08-05  Geoffrey Keating  <geoffk@redhat.com>

	* attribs.c: Don't include obstack.h.
	* builtins.c: Likewise.
	* cfganal.c: Likewise.
	* cfgbuild.c: Likewise.
	* cfgcleanup.c: Likewise.
	* emit-rtl.c: Likewise.
	* loop.c: Likewise.
	* stmt.c: Likewise.

Index: cp/ChangeLog
2002-08-05  Geoffrey Keating  <geoffk@redhat.com>

	* class.c: Don't include obstack.h.
	(popclass):
	* decl2.c: Delete bogus comment.
	* error.c: Don't include obstack.h.
	* except.c: Likewise.
	(dump_type): Correct comment.
	* method.c: Don't include obstack.h.
	* tree.c: Likewise.

Index: java/ChangeLog
2002-08-05  Geoffrey Keating  <geoffk@redhat.com>

	* mangle_name.c: Don't include obstack.h twice.
	* xref.c: Don't include obstack.h.

From-SVN: r56055
2002-08-05 18:46:37 +00:00
Geoffrey Keating
b835f6f145 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
From-SVN: r56054
2002-08-05 18:45:26 +00:00
Gabriel Dos Reis
fd29139244 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
From-SVN: r56050
2002-08-05 15:50:10 +00:00
Bernd Schmidt
4c6f7cf15c Add missing file
From-SVN: r56049
2002-08-05 11:41:05 +00:00
Toon Moene
97768ccc14 invoke.texi: Improve description of -fno-finite-math-only flag.
2002-08-05  Toon Moene  <toon@moene.indiv.nluug.nl>

	* invoke.texi: Improve description of
	-fno-finite-math-only flag.

From-SVN: r56048
2002-08-05 09:23:43 +00:00
GCC Administrator
f662469ef1 Daily bump.
From-SVN: r56047
2002-08-05 07:17:11 +00:00
Chris Demetriou
054b750747 invoke.texi: Remove duplicated paragraph describing TARGET_SWITCHES.
2002-08-04  Chris Demetriou  <cgd@broadcom.com>

        * doc/invoke.texi: Remove duplicated paragraph describing
        TARGET_SWITCHES.

From-SVN: r56040
2002-08-04 22:36:20 -07:00
Gabriel Dos Reis
201fbb7f20 Fix PR/2213
cp/
        Fix PR/2213
        * cvt.c (cp_convert_to_pointer): Reject conversions from integral
        expressions to pointer-to-data-member of pointer-to-member-functions.

testsuite/
        * g++.dg/other/conversion1.C: New test.

From-SVN: r56039
2002-08-05 03:56:16 +00:00
Mark Mitchell
b58bbfbb9b install.texi (Installing GCC): Refer to buildstat.html, rather than listing version-specific build status files.
* doc/install.texi (Installing GCC): Refer to buildstat.html,
	rather than listing version-specific build status files.

From-SVN: r56038
2002-08-05 03:40:38 +00:00
Gabriel Dos Reis
00386a9be1 slice_array.h (_DEFINE_VALARRAY_OPERATOR): Instantiate with new function objects.
PR/7491
	* include/bits/slice_array.h(_DEFINE_VALARRAY_OPERATOR):
	Instantiate with new function objects.
	* include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): Likewise.
	Reformat.  Uglify.
	* include/bits/gslice_array.h: Likewise.
	* include/bits/indirect_array.h: Likewise.

From-SVN: r56036
2002-08-05 02:09:27 +00:00
Geoffrey Keating
6d9f628e05 Index: ChangeLog
2002-08-04  Geoffrey Keating  <geoffk@redhat.com>

	* Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
	* collect2.h (permanent_obstack): Delete declaration.
	* collect2.c (permanent_obstack): Delete definition.
	(main): Don't initialise permanent_obstack.  Use xstrdup instead.
	* expr.c: Don't include obstack.h.
	(permanent_obstack): Delete declaration.
	* function.c: Don't include obstack.h.
	(permanent_obstack): Delete declaration.
	* integrate.c: Don't include obstack.h.
	(function_maybepermanent_obstack): Delete declaration.
	* print-tree.c (debug_tree): Use x*alloc not permalloc.
	* sdbout.c (gen_fake_label): Use x*alloc not permalloc.
	* tlink.c (pfgets): Use xstrdup not permanent_obstack.
	* toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
	* tree.h: Rename init_obstacks to init_ttree.  Remove declarations
	of permalloc, expralloc, perm_calloc.
	* tree.c (permanent_obstack): Delete definition.
	(init_ttree): Rename from init_obstacks.
	(permalloc): Delete.
	(perm_calloc): Delete.
	(dump_tree_statistics): Don't print information about
	permanent_obstack.
	* varasm.c (assemble_start_function): Use xstrdup instead of
	permalloc/strcpy.
	(assemble_variable): Likewise.
	* config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
	permalloc.
	(unicosmk_add_extern): Likewise.
	* config/c4x/c4x.c (c4x_external_ref): Likewise.
	(c4x_global_label): Likewise.
	* config/frv/frv.c (frv_encode_section_info): Likewise.
	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
	(i386_pe_record_exported_symbol): Likewise.
	* config/mips/mips.c (mips_output_external): Likewise.
	(mips_output_external_libcall): Likewise.
	* config/pa/pa.c: (permanent_obstack): Delete declaration.
	(output_call): Use ggc_strdup instead of allocating on
	permanent_obstack.
	* config/romp/romp.c: Include ggc.h.
	(get_symref): Don't declare permanent_obstack, use ggc_strdup
	intead of permanent_obstack.
	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
	instead of permalloc.
	* config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
	instead of permalloc
	* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
	instead of permalloc.
	* config/vax/vax.c (vms_check_external): Use xmalloc instead of
	permalloc.

Index: cp/ChangeLog
2002-08-04  Geoffrey Keating  <geoffk@redhat.com>

	* cvt.c (ocp_convert): Delete obsolete code.
	* parse.y (permanent_obstack): Delete declaration.
	* pt.c (permanent_obstack): Delete declaration.
	* repo.c (permanent_obstack): Delete declaration.
	(open_repo_file): Use xmalloc instead of permanent_obstack.
	(init_repo): Use xstrdup instead of permanent_obstack.

Index: java/ChangeLog
2002-08-04  Geoffrey Keating  <geoffk@redhat.com>

	* class.c: (permanent_obstack): Delete declaration.
	* constants.c: (permanent_obstack): Delete declaration.
	* except.c: (permanent_obstack): Delete declaration.
	* expr.c: (permanent_obstack): Delete declaration.
	* jcf-parse.c: (permanent_obstack): Delete declaration.
	(saveable_obstack): Delete declaration.
	* parse.h: (permanent_obstack): Delete declaration.
	* typeck.c: (permanent_obstack): Delete declaration.

From-SVN: r56035
2002-08-04 22:45:31 +00:00
Bernd Schmidt
86a0cbcb9f Remove one of the files checked in previously
From-SVN: r56033
2002-08-04 21:07:49 +00:00
H.J. Lu
2ff3487032 configure.in (mips*-*-linux*): Don't skip target-libffi.
2002-08-04  H.J. Lu  (hjl@gnu.org)

	* configure.in (mips*-*-linux*): Don't skip target-libffi.

From-SVN: r56030
2002-08-04 12:40:07 -07:00
Bernd Schmidt
36a05131ca Add the FRV port
From-SVN: r56029
2002-08-04 19:37:03 +00:00
Nathan Sidwell
37b8715b5b gcov.c (bb_file_time): New static variable.
* gcov.c (bb_file_time): New static variable.
	(object_directory): May also be object file.
	(preserve_paths): New static variable.
	(print_usage): Adjust.
	(options): Adjust.
	(process_args): Adjust.
	(open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
	file. Find modification date on bb file.
	(read_profile): Don't rewind a NULL file.
	(format_hwint): New static function.
	(function_summary): Use format_hwint.
	(output_data): SOURCE_FILE_NAME is never relative to
	OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
	mangling. Adjust output format to make it more machine readable.
	* doc/gcov.texi: Document & clarify semantics.

From-SVN: r56028
2002-08-04 17:06:10 +00:00
Joseph Myers
d500c5d7d7 gcc-common.texi (version-GCC): Increase to 3.3.
* doc/include/gcc-common.texi (version-GCC): Increase to 3.3.

java:
	* gcj.texi (version-gcc): Increase to 3.3.

f:
	* root.texi (version-gcc): Increase to 3.3.

From-SVN: r56026
2002-08-04 17:55:06 +01:00
Nathan Sidwell
ea67fe71ed gcc.c (cc1_options): Pass output file as auxbase when appropriate.
* gcc.c (cc1_options): Pass output file as auxbase when
	appropriate.
	* profile.c (init_branch_prob): FILENAME has already had ending
	stripped.
	* final.c (end_final): Likewise.
	* toplev.c (aux_base_name): New global.
	(compile_file): Pass aux_base_name to init init_branch_prob and
	end_final.
	(independent_decode_option, case 'a'): New auxinfo options.
	(case 'd'): Protect against mising basename.
	(do_compile): Initialize aux_base_name.
	* toplev.h (aux_base_name): New global.
	* doc/invoke.texi: Adjust documentation.

From-SVN: r56025
2002-08-04 16:21:02 +00:00
Nathan Sidwell
b23c054d0b i386.c (x86_field_alignment): Remove duplicate test of TARGET_ALIGN_DOUBLE.
* config/i386/i386.c (x86_field_alignment): Remove duplicate test
	of TARGET_ALIGN_DOUBLE.

From-SVN: r56024
2002-08-04 14:53:45 +00:00
Nathan Sidwell
dd98e14f31 cp-tree.h (VF_DERIVED_VALUE): Remove.
* cp-tree.h (VF_DERIVED_VALUE): Remove.
	* class.c (finish_struct_1): Use VF_BINFO_VALUE not VF_DERIVED_VALUE.

From-SVN: r56023
2002-08-04 14:43:46 +00:00
Gabriel Dos Reis
04c1334cba diagnostic.c (inform): New function.
* diagnostic.c (inform): New function.
	* diagnostic.h (inform): Declare.

From-SVN: r56022
2002-08-04 14:38:40 +00:00
Nathan Sidwell
e6858a8447 re PR c++/7470 (Vtable: virtual function pointers not in declaration order)
PR 7470.
	C++ ABI change - vfunc ordering.
	* class.c (add_virtual_function): Remove.
	(dfs_modify_all_vtables): Take list of all declared
	virtuals. Assign all that are not in primary base.
	(check_for_override): Adjust comments.
	(create_vtable_ptr): Take single list of virtuals. Build chain
	of declared virtuals here.
	(layout_class_type): Take single list of virtuals. Adjust.
	(finish_struct_1): Keep virtuals on single list. Adjust.

From-SVN: r56021
2002-08-04 13:13:56 +00:00
GCC Administrator
9cc7dbc4a8 Daily bump.
From-SVN: r56019
2002-08-04 07:17:06 +00:00
Roger Sayle
313c9c5404 * gcc.dg/builtins-1.c: New testcase.
From-SVN: r56012
2002-08-04 02:08:20 +00:00
David Edelsohn
e34eaae5f3 rs6000.md (movsi_internal1): Add nop mnemonic.
* config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
        (movhi_internal): Same.
        (movqi_internal): Same.
        (movdi_internal64): Same.

        * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.

        * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
        (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
        (COMMON_ASM_OP): Define.
        (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
        Use ALIGN parameter.
        (LOCAL_COMMON_ASM_OP): Define.
        (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.

From-SVN: r56011
2002-08-03 19:23:49 -04:00
Roger Sayle
e7b489c8c0 builtins.def: Define new builtin functions exp...
* builtins.def: Define new builtin functions exp, expf, expl,
	log, logf and logl (and their __builtin_* variants).
	* optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
	Define exp_optab and log_optab.
	* optabs.c (init_optans): Initialize exp_optab and log_optab.
	* genopinit.c (optabs): Implement exp_optab and log_optab
	using exp?f2 and log?f2 patterns.
	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
	and BUILT_IN_LOG* using exp_optab and log_optab respectively.
	(expand_builtin): Ignore the new builtins (and all cos and
	sin variants) when not optimizing.  Expand new builtins via
	expand_builtin_mathfn when flag_unsafe_math_optimizations.

	* doc/extend.texi: Document new exp and log builtins.
	* doc/md.texi: Document new exp?f2 and log?f2 patterns
	(and previously undocumented cos?f2 and sin?f2 patterns).

From-SVN: r56010
2002-08-03 23:21:31 +00:00
Jason Merrill
de8920be70 explow.c (int_expr_size): New fn.
* explow.c (int_expr_size): New fn.
        * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
        * expr.h: Declare it.

From-SVN: r56009
2002-08-03 16:20:35 -04:00
Gabriel Dos Reis
7a9ffd82b6 valarray_name_lookup.cc: Rename from testsuite/26_numerics/valarray_name_lookup.C
* testsuite/26_numerics/valarray_name_lookup.cc: Rename from
	testsuite/26_numerics/valarray_name_lookup.C

From-SVN: r56008
2002-08-03 19:56:17 +00:00
GCC Administrator
7541e98e0a Daily bump.
From-SVN: r56007
2002-08-03 07:17:08 +00:00
Gabriel Dos Reis
971cfc6f10 valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our object function surrogates.
* include/bits/valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our
	object function surrogates.
	* include/bits/valarray_meta.h (__shift_left): Fix typo.
	(_BinFunClos<>): Remove.
	(_BinFunBase<>): Likewise.
	(_BinFunBase1<>):Likewise.
	(_BinFunBase2<>): Likewise.
	(_DEFINE_EXPR_RELATIONAL_OPERATOR): Likewise.
	(_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
	(_DEFINE_EXPR_BINARY_OPERATOR): Likewise.
	(_DEFINE_EXPR_BINARY_FUNCTION): Likewise.
	* include/std/std_valarray.h: Dont #include <functional> anymore.
	(_Bitwise_or<>, _Bitwise_and<>, _Bitwise_xor<>, _Shift_left<>,
	_Shift_right<>): Remove.
	(_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT): Adjust instantiation.
	(_DEFINE_BINARY_OPERATOR): Tweak definition.
	(_DEFINE_LOGICAL_OPERATOR): Remove.
	* testsuite/26_numerics/valarray_name_lookup.C (main): Add more tests.

From-SVN: r56001
2002-08-02 23:08:40 +00:00
Mark Mitchell
55765de441 init.c (build_member_call): Use build_new_method_call, not build_method_call.
* init.c (build_member_call): Use build_new_method_call, not
	build_method_call.
	* g++.dg/inherit/access3.C: New test.

From-SVN: r56000
2002-08-02 22:42:03 +00:00
Krister Walfridsson
ba462c8e9d Makefile.in (gengtype-lex.o, [...]): Add path to gengtype-* dependencies.
* Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
        gengtype-* dependencies.

From-SVN: r55999
2002-08-02 22:30:09 +00:00
Eric Christopher
2017ed61d3 config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2002-08-02  Eric Christopher  <echristo@redhat.com>

	* config.gcc (mips*-*-linux*): Fix ordering of tm_file.
	* config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
	#ifndef to #undef.
	(TARGET_MEM_FUNCTIONS): Define instead of define to 1.

From-SVN: r55998
2002-08-02 20:22:35 +00:00
Krister Walfridsson
d00675714f * Make-lang.in (spew.o, lex.o, pt.o): Add path to parse.h dependencies.
From-SVN: r55997
2002-08-02 19:43:25 +00:00
Krister Walfridsson
a014f2fea6 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r55996
2002-08-02 19:02:33 +00:00
Mark Mitchell
7c38703bf6 Fix typo
From-SVN: r55995
2002-08-02 18:56:48 +00:00
Mark Mitchell
4a34e0e8cf call.c (build_method_call): Issue a more helpful error message about ambiguous method names.
* call.c (build_method_call): Issue a more helpful error message
	about ambiguous method names.

From-SVN: r55994
2002-08-02 18:53:40 +00:00
Gabriel Dos Reis
74d6b8ca63 valarray_meta.h (_UnFunBase<>): Remove.
* include/bits/valarray_meta.h (_UnFunBase<>): Remove.
	(_UnFunClos<>): Same.
	(_UnBase<>): Reformat.  Make first template-parameter non
	template.
	(_UnClos<>): Likewise.
	(_Expr<>): Reformate.  Adjust unary member operator return types.
	(_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
	(_DEFINE_EXPR_UNARY_FUNCTION): Likewise.
	* include/std/std_valarray.h (_UnClos<>): Adjust declaration.
	(valarray<>::_UnaryOp<>):  New nested traits. Adjust unary member
	operator return types.  Reformat.
	(_Bitwise_not): Remove.
	(_DEFINE_VALARRAY_UNARY_OPERATOR): Adjust definition.
	* testsuite/26_numerics/valarray_name_lookup.C: New test.

From-SVN: r55993
2002-08-02 18:10:38 +00:00
Nathan Sidwell
41ab2ae207 tree.c (build_shared_int_cst): Make cache file scope, and GTY it.
* tree.c (build_shared_int_cst): Make cache file scope, and
	GTY it.

From-SVN: r55992
2002-08-02 17:21:34 +00:00
David Edelsohn
055dd007b3 re PR rtl-optimization/7067 (-Os with -mcpu=powerpc optimizes for speed (?) instead of space)
PR optimize/7067
        * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
        small if optimizing for size.

From-SVN: r55991
2002-08-02 12:25:43 -04:00
Benjamin Kosnik
3a7491fbb9 ctype_inline.h (is): Don't offset _M_table.
2002-08-02  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
	(scan_is): Use this->is.
	(scan_not): Likewise.

From-SVN: r55990
2002-08-02 16:10:37 +00:00
Danny Smith
b5028f5e8b ctype_inline.h (is): Don't offset _M_table.
2002-08-02 Danny Smith  <dannysmith@users.sourceforge.net>

	* config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
	(scan_is): Use this->is.
	(scan_not): Likewise.

From-SVN: r55989
2002-08-02 16:10:12 +00:00
Benjamin Kosnik
49bc23b7f9 Revert PR libstdc++/6594
2002-08-02  Benjamin Kosnik  <bkoz@redhat.com>

	Revert PR libstdc++/6594
	* src/strstream.cc (strstreambuf): Revert.
	(strstreambuf::overflow): Same.
	(strstreambuf::~strstreambuf): Same.
	* testsuite/backward/strstream_members.cc (test02): Add.

	* docs/html/abi.txt: Update. Spell check.

	* testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.

	* testsuite/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/testsuite_hooks.h: Use __throw_exception_again,
	include functexcept.h so that -fno-exceptions will build.

From-SVN: r55988
2002-08-02 16:04:16 +00:00
Daniel Jacobowitz
771a2a6696 configure.in (FORBUILD): Use $build_alias.
* configure.in (FORBUILD): Use $build_alias.
        * configure: Regenerated.

From-SVN: r55987
2002-08-02 15:57:09 +00:00
Richard Sandiford
ac8ab9fe50 config.gcc: Don't include mips/abi64.h in $tm_file.
* config.gcc: Don't include mips/abi64.h in $tm_file.
	* hard-reg-set.h (call_really_used_regs): Declare.
	* config/mips/abi64.h: Remove file.
	* config/mips/linux.h,
	* config/mips/iris6.h: Don't include it.
	* config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
	* config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
	(REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
	FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
	FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
	Bring across definitions from abi64.h.
	(GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
	(BIGGEST_MAX_ARGS_IN_REGISTERS): New.
	(struct mips_args): Use it.
	* config/mips/mips.c (mips_conditional_register_usage): Define.

From-SVN: r55986
2002-08-02 14:55:08 +00:00
Gabriel Dos Reis
2b1a407046 valarray_meta.h (__unary_plus, [...]): New function object classes.
* include/bits/valarray_meta.h (__unary_plus, __negate,
	__bitwise_not, __plus, __minus, __multiplies, __divides,
	__modulus, __bitwise_xor, __bitwise_or, __bitwise_and,
	__shift_left, __shift_right, __logical_and, __logical_or,
	__logical_not, __equal_to, __not_equal_to, __less, __less_equal,
	__greater_equal, __greater, __atan2, __pow): New function object
	classes.
	(__fun<>):  New function traits class.

From-SVN: r55985
2002-08-02 13:51:46 +00:00
Jason Merrill
a77a9a18c0 langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
* langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
        * langhooks.c (lhd_expr_size): Define default.
        * langhooks.h (struct lang_hooks): Add expr_size.
        * explow.c (expr_size): Call it.
        * expr.c (store_expr): Don't copy an expression of size zero.
        (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
        to store.
        * Makefile.in (builtins.o): Depend on langhooks.h.

        * cp-lang.c (LANG_HOOKS_EXPR_SIZE): Define.
        (cp_expr_size): New fn.
        * call.c (build_over_call): Lose empty class hackery.
        (convert_arg_to_ellipsis): Promote non-POD warning to error.
        * typeck.c (build_modify_expr): Don't use save_expr on an lvalue.

From-SVN: r55983
2002-08-02 07:57:22 -04:00
Jason Merrill
367aa58580 semantics.c (expand_body): Do tree optimization in the function context, too.
* semantics.c (expand_body): Do tree optimization in the function
        context, too.

From-SVN: r55982
2002-08-02 07:52:38 -04:00