aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-09-10c-objc-common.c (c_cannot_inline_tree_fn): Warn on why function is not ↵Jan Hubicka3-178/+184
inlinable; do not check the body. * c-objc-common.c (c_cannot_inline_tree_fn): Warn on why function is not inlinable; do not check the body. (inline_forbidden_p): Move to... * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings; deal with alloca, longjmp. (inline_forbidden_p): New static function. (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1, find_builtin_longjmp_call): Kill. From-SVN: r71283
2003-09-10cgraph.h (struct cgraph_node): Rename lowered to analyzed.Richard Henderson10-70/+115
* cgraph.h (struct cgraph_node): Rename lowered to analyzed. * cgraphunit.c: Update to match. (record_call_1): Rearrange. Call lang hook for language nodes. (cgraph_analyze_function): Don't call lower_function. * langhooks.h (struct lang_hooks_for_callgraph): Replace lower_function with analyze_expr. * langhooks-def.h: Update to match. * langhooks.c (lhd_callgraph_analyze_expr): New. * decl2.c (cxx_callgraph_analyze_expr): New, from corpse of mark_member_pointers. (lower_function): Remove. * cp-tree.h: Update to match. * cp-lang.c (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): New. (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION): Remove. From-SVN: r71277
2003-09-10re PR target/11965 (invalid assembler code for a shift << 32 operation)Eric Botcazou5-6/+69
PR target/11965 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against constants greater than 63. * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect against constants greater than 31. (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against constants greater than 63. From-SVN: r71266
2003-09-09cgraphunit.c (cgraph_finalize_function): Remove unused argument.Richard Henderson8-5/+18
* cgraphunit.c (cgraph_finalize_function): Remove unused argument. * cgraph.h (cgraph_finalize_function): Update. * c-decl.c (finish_function): Update. cp/ * semantics.c (expand_or_defer_fn): Update call to cgraph_finalize_function. java/ * parse.y (source_end_java_method): Update call to cgraph_finalize_function. From-SVN: r71263
2003-09-09semantics.c (expand_or_defer_fn): Use cgraph_finalize_function always.Richard Henderson1-0/+3
* semantics.c (expand_or_defer_fn): Use cgraph_finalize_function always. From-SVN: r71262
2003-09-09decl2.c (finish_file): Avoid out-of-bounds array reference during memmove.Richard Henderson3-60/+15
* decl2.c (finish_file): Avoid out-of-bounds array reference during memmove. From-SVN: r71261
2003-09-09darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.Devang Patel5-2/+26
gcc * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker. * doc/invoke.texi: Document new Darwin linker option -nofixprebinding. testsuite * gcc.dg/darwin-ld-6.c: New test. From-SVN: r71259
2003-09-10Daily bump.GCC Administrator1-1/+1
From-SVN: r71257
2003-09-10configure.in: Change usage of 'head' to 'sed 1q'.Eric Christopher3-47/+52
2003-09-09 Eric Christopher <echristo@redhat.com> * configure.in: Change usage of 'head' to 'sed 1q'. * configure: Regenerate. From-SVN: r71255
2003-09-09except.c: Include cgraph.h.Richard Henderson5-44/+45
* except.c: Include cgraph.h. (output_function_exception_table): Invoke cgraph_varpool_mark_needed_node. * Makefile.in (except.o): Update. * decl2.c (mark_member_pointers): Rename from mark_member_pointers_and_eh_handlers and don't check eh handlers. From-SVN: r71254
2003-09-09Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS and use it ↵Kelley Cook2-16/+22
throughout. * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS and use it throughout. From-SVN: r71253
2003-09-09builtins.c (real_dconstp, [...]): New, split out from fold_builtin.Kaveh R. Ghazi7-106/+481
* builtins.c (real_dconstp, fold_builtin_logarithm, fold_builtin_exponent): New, split out from fold_builtin. Also generalize to add log2, log10, exp2 and exp10/pow10 equivalents. * emit-rtl.c (dconst3, dconst10, dconstthird): New. (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu of hardcoded array size. * fold-const.c (fold): Add cases for exp2, exp10 and pow10. (tree_expr_nonnegative_p): Likewise. * real.h (dconst3, dconst10, dconstthird): New. testsuite: * gcc.dg/torture/builtin-explog-1.c: New testcase. From-SVN: r71252
2003-09-09cgraphunit.c (cgraph_finalize_function): Fix handling of extern inline ↵Jan Hubicka2-18/+33
functions. * cgraphunit.c (cgraph_finalize_function): Fix handling of extern inline functions. (cgraph_finalize_compilation_unit): Fix crash when dealing with lost DECL_SAVED_TREE. From-SVN: r71245
2003-09-09builtins.c (fold_builtin_cabs): Protect the complex argument against ↵Roger Sayle2-0/+7
multiple evaluation when... * builtins.c (fold_builtin_cabs): Protect the complex argument against multiple evaluation when optimizing cabs* into sqrt*. From-SVN: r71242
2003-09-09* varasm.c (notice_global_symbol): Properly deal with weak symbols.Jan Hubicka2-4/+8
From-SVN: r71236
2003-09-09Revert change from yesterday due to parallel make issues.Kelley Cook2-17/+20
From-SVN: r71235
2003-09-09re PR bootstrap/12168 (ICE (bus error) in set_mem_attributes_minus_bitpos)Christian Ehrhardt2-0/+6
PR bootstrap/12168 * method.c (use_thunk): Clear DECL_RTL of copied nodes. From-SVN: r71234
2003-09-09coff.h (REGISTER_NAMES): Add fake register `argptr'Bernardo Innocenti9-113/+302
* config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr' * config/m68k/hp320.h (REGISTER_NAMES): Likewise. * config/m68k/linux.h (REGISTER_NAMES): Likewise. * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise. * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise. * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype. * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end. (m68k_compute_frame_layout): New function. (m68k_initial_elimination_offset): New function. (m68k_output_function_prologue): ColdFire-specific movem handling. (m68k_output_function_epilogue): Likewise. * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg. (ARG_POINTER_REGNUM): Add new definition. (INITIAL_FRAME_POINTER_OFFSET): Remove macro. (ELIMINABLE_REGS): Define new macro, like in ix86 back-end. (CAN_ELIMINATE): Likewise. (INITIAL_ELIMINATION_OFFSET): Likewise. Co-Authored-By: Peter Barada <peter@baradas.org> From-SVN: r71231
2003-09-09m68k.c (m68k_output_function_prologue): Simplify by removing redundant ↵Bernardo Innocenti2-25/+18
variable cfa_store_offset. * config/m68k/m68k.c (m68k_output_function_prologue): Simplify by removing redundant variable cfa_store_offset. From-SVN: r71230
2003-09-09Fix thinko in last patch.Mark Mitchell1-14/+8
From-SVN: r71228
2003-09-09langhooks-def.h (lhd_register_builtin_type): New function.Mark Mitchell14-6/+166
* langhooks-def.h (lhd_register_builtin_type): New function. (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update. * langhooks.h (lang_hooks_for_types): Add register_builtin_type. * langhooks.c (lhd_register_builtin_type): New function. * c-common.h (c_register_builtin_type): Declare. * c-common.c (c_register_builtin_type): New function. * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to c_register_builtin_type. * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg, __float80, and __float128 macros. * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg, __float80, and __float128 types. * cp-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to c_register_builtin_type. * gcc.dg/ia64-types1.c: New test. * gcc.dg/ia64-types2.c: Likewise. From-SVN: r71227
2003-09-09builtin-types.def ↵Kaveh R. Ghazi7-26/+213
(BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, [...]): New. * builtin-types.def (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New. * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH, BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL, BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN, BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF, BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN, BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF, BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF, BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL, BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW, BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH, BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT, BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF, BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL): New. * doc/extend.texi: Document new builtins. testsuite: * gcc.dg/builtins-1.c: Add more _Complex tests. * gcc.dg/torture/builtin-attr-1.c: Likewise. From-SVN: r71226
2003-09-09builtins-1.c: Test existing _Complex functions.Kaveh R. Ghazi3-0/+90
* gcc.dg/builtins-1.c: Test existing _Complex functions. * gcc.dg/torture/builtin-attr-1.c: Likewise. From-SVN: r71225
2003-09-09cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated finalization.Jan Hubicka3-15/+87
* cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated finalization. * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested functions, check for COMDAT. (cgraph_assemble_pending_functions): Break out from... (cgraph_finalize_function): ... here; allow redefinig of extern inline functions. (record_call_1): Record function references only in non-unit-at-a-time mode. (cgraph_analyze_function): Reset current_function_decl. (cgraph_finalize_compilation_unit): Assemble pending functions. From-SVN: r71221
2003-09-09Daily bump.GCC Administrator1-1/+1
From-SVN: r71219
2003-09-08mklibgcc.in (libcc.a): Depend on stmp-dirs.Mark Mitchell2-3/+15
* mklibgcc.in (libcc.a): Depend on stmp-dirs. (libgov.a): Likewise. (libgcc_eh.a): Likewise. From-SVN: r71217
2003-09-08* fold-const.c (operand_equal_p): Clarify documentation.Roger Sayle2-2/+20
From-SVN: r71214
2003-09-08re PR c++/11786 (operator() call on variable in other namespace not recognized)Mark Mitchell5-2/+28
PR c++/11786 * decl2.c (add_function): Do not complain about seeing the same non-function twice. * semantics.c (perform_koenig_lookup): Improve documentation. PR c++/11786 * g++.dg/lookup/koenig2.C: New test. From-SVN: r71213
2003-09-08* optimize.c (maybe_clone_body): Inc/dec function_depth.Richard Henderson2-0/+11
From-SVN: r71210
2003-09-08re PR c++/5296 ([DR115] Pointers to functions and template functions behave ↵Mark Mitchell4-15/+49
different in deduction) PR c++/5296 * pt.c (try_one_overload): Add addr_p parameter. (resolve_overloaded_unification): Pass it. PR c++/5296 * g++.dg/rtti/typeid2.C: New test. From-SVN: r71209
2003-09-08c-decl.c (c_expand_body_1): Push and pop function context here.Richard Henderson11-57/+38
gcc/ * c-decl.c (c_expand_body_1): Push and pop function context here. * tree-optimize.c (tree_rest_of_compilation): ... not here. Take nested argument instead of computing nesting ourselves. gcc/cp/ * decl.c (finish_function): Clear current_function_decl. * decl2.c (mark_used): Don't push/pop gc context. * optimize.c (optimize_function): Likewise. * tree.c (cp_cannot_inline_tree_fn): Likewise. * pt.c (instantiate_decl): Inc/dec function_depth instead. * semantics.c (expand_body): Update for tree_rest_of_compilation nested argument. From-SVN: r71208
2003-09-08toplev.c (rest_of_compilation): Call split_all_insns before regstack if ↵Jakub Jelinek4-0/+120
optimizing but not scheduling after reload. * toplev.c (rest_of_compilation): Call split_all_insns before regstack if optimizing but not scheduling after reload. * gcc.c-torture/compile/20030904-1.c: New test. From-SVN: r71203
2003-09-08sparc.c (struct machine_function): New type.Jakub Jelinek9-146/+1394
* config/sparc/sparc.c (struct machine_function): New type. (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define. (sparc_override_options): Initialize init_machine_status. (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand, tie_symbolic_operand, tle_symbolic_operand): New functions. (symbolic_operand): Disallow tls_symbolic_operand. (symbolic_memory_operand): Likewise. (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p, constant_address_p, legitimate_pic_operand_p, legitimate_address_p): New functions. (sparc_tls_symbol): New variable. (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address, legitimize_address): New functions. (print_operand): Handle %&. (sparc_init_machine_status, get_some_local_dynamic_name, get_some_local_dynamic_name_1): New functions. (sparc_output_dwarf_dtprel): New function. * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into constant_address_p. (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p. (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p. (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p. (LEGITIMIZE_ADDRESS): Moved into legitimize_address. (PRINT_OPERAND_PUNCT_VALID_P): Add '&'. (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define. (ASM_OUTPUT_DWARF_DTPREL): Define. (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand, tie_symbolic_operand, tle_symbolic_operand. * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO, UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants. (tls_call_delay): New attribute. (in_call_delay): Use it. (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed. (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64, tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64, tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10, tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32, tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns. (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32, tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64, tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64, tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64, tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64, tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64, tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32, tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New insns. * config/sparc/sparc-protos.h (legitimate_constant_p, constant_address_p, legitimate_pic_operand_p, legitimate_address_p, legitimize_tls_address, legitimize_address, tls_symbolic_operand, tls_call_delay, sparc_output_dwarf_dtprel): New prototypes. * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define. * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise. * configure.in (sparc*-*-*): Add TLS check. * configure: Rebuilt. From-SVN: r71202
2003-09-08re PR target/11689 (g++3.3 emits un-assembleable code for k6 architecture)Eric Botcazou4-3/+87
PR target/11689 * config/i386/i386.c (memory_address_length): Fix computation when the base is esp or ebp. From-SVN: r71198
2003-09-07* g++.dg/template/crash10.C: Only compile it.Andrew Pinski2-1/+5
From-SVN: r71197
2003-09-07re PR middle-end/11665 (ICE in struct initializer when taking address)Andrew Pinski3-0/+56
2003-09-07 Andrew Pinski <pinskia@physics.uc.edu> PR middle-end/11665 * gcc.c-torture/compile/20030907-1.c: New test. * g++.dg/init/array11.C: New test. From-SVN: r71193
2003-09-08Daily bump.GCC Administrator1-1/+1
From-SVN: r71191
2003-09-07re PR c++/11852 (ICE: g++ with bad struct initializer.)Mark Mitchell4-4/+37
PR c++/11852 * varasm.c (initializer_constant_valid_p): Correct logic for CONSTRUCTORs. PR c++/11852 * g++.dg/init/struct1.C: New test. From-SVN: r71187
2003-09-07re PR c++/12181 (Wrong code with comma operator and c++)Mark Mitchell2-0/+26
PR c++/12181 * g++.dg/expr/comma1.C: New test. From-SVN: r71182
2003-09-07expr.c (expand_operands): New function to expand an operand pair.Roger Sayle2-51/+60
* expr.c (expand_operands): New function to expand an operand pair. (expand_expr): Call expand_operands whenever we need to expand both operands of a binary operator. (do_store_flag): Likewise for operands of comparison operations. From-SVN: r71179
2003-09-07combine.c (combine_simplify_rtx): Don't convert -(A*B) into (-A)*B if we ↵Roger Sayle2-2/+9
care about sign-dependent rounding. * combine.c (combine_simplify_rtx): Don't convert -(A*B) into (-A)*B if we care about sign-dependent rounding. From-SVN: r71178
2003-09-07Fix typo.Mark Mitchell2-2/+2
From-SVN: r71177
2003-09-07re PR c++/11762 (namespace aliasing ICE in warn_extern_redeclared_static)Gabriel Dos Reis8-24/+107
* c-pretty-print.h (pp_c_left_brace): Declare. (pp_c_right_brace): Likewise. * c-pretty-print.c (pp_c_left_brace): Now a function (pp_c_right_brace): Likewise. cp/ PR c++/11762 * error.c (dump_decl): Handle namespace-alias-definition. * decl.c (warn_extern_redeclared_static): There is no point in checking changes in storage class specifier for a namespace declaration. (duplicate_decls): Tidy diagnostic message. * cxx-pretty-print.c (pp_cxx_left_brace): New macro. (pp_cxx_right_brace): Likewise. (pp_cxx_original_namespace_definition): New function. (pp_cxx_namespace_alias_definition): Likewise. (pp_cxx_declaration): Use them. Handle NAMESPACE_DECLs. From-SVN: r71175
2003-09-07* cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.Jan Hubicka2-2/+6
From-SVN: r71172
2003-09-07* diagnostic.c (warn_deprecated_use): Move to toplev.cGabriel Dos Reis3-38/+42
From-SVN: r71168
2003-09-07decl2.c (maybe_emit_vtables, [...]): Avoid re-emitting variables in ↵Jan Hubicka2-3/+14
unit-at-a-time mode. * decl2.c (maybe_emit_vtables, write_out_vars, finish_file): Avoid re-emitting variables in unit-at-a-time mode. From-SVN: r71167
2003-09-07langhooks.c (lhd_print_error_function): Move from diagnostic.c.Gabriel Dos Reis4-35/+41
* langhooks.c (lhd_print_error_function): Move from diagnostic.c. * Makefile.in (langhooks.o): Depend on diagnostic.h From-SVN: r71165
2003-09-06Forgot to commit the Changelog for the new tests.Andrew Pinski1-0/+20
From-SVN: r71162
2003-09-06loop.c (loop_regs_update): Delete else clause for PATTERN rtx and simplify.James E Wilson2-15/+11
* loop.c (loop_regs_update): Delete else clause for PATTERN rtx and simplify. From-SVN: r71160
2003-09-07re PR c++/11867 (static_cast ignores ambiguity)Mark Mitchell5-20/+64
PR c++/11687 * call.c (standard_conversion): Improve comments. (perform_direct_initialization): Make sure we return an expression of the correct type. * typeck.c (build_static_cast): Check for ambiguity and accessibility when performing conversions. PR c++/11687 * g++.dg/expr/static_cast5.C: New test. From-SVN: r71157