aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-12-16re PR rtl-optimization/13313 (Wrong code generated)Eric Botcazou4-7/+41
PR optimization/13313 * combine.c (make_extraction) [REG]: Do not use gen_lowpart_for_combine when POS is non-zero. From-SVN: r74676
2003-12-16altivec.h (vec_cmple, [...]): Fix typo.Hartmut Penner3-4/+95
* altivec.h (vec_cmple, vec_all_numeric): Fix typo. * testsuite/gcc.dg/altivec-10.c: Test for above. From-SVN: r74675
2003-12-16Makefile.in (CPPFLAGS): Initialize from configure.David O'Brien2-0/+6
2003-12-15 David O'Brien <obrien@FreeBSD.org> * Makefile.in (CPPFLAGS): Initialize from configure. Approved by: Message-ID: <87oeuarqr4.fsf@egil.codesourcery.com> From-SVN: r74669
2003-12-16re PR c++/2294 (using declaration confusion)Giovanni Bajo2-1/+11
PR c++/2294 * name-lookup.c (push_overloaded_decl): always construct an OVERLOAD if the declaration comes from an using declaration. From-SVN: r74667
2003-12-16ptrmem7.C: Simplified the test case to not hit an ICE regression.Giovanni Bajo2-14/+5
* g++.dg/template/ptrmem7.C: Simplified the test case to not hit an ICE regression. From-SVN: r74665
2003-12-16re PR c++/10926 (ICE in build_delete when trying to declare template destructor)Mark Mitchell6-10/+47
PR c++/10926 * decl2.c (grokfield): Robustify. PR c++/11116 * parser.c (cp_parser_throw_expression): Determine whether or not an assignment-expression is present by doing one-token lookahead. PR c++/10926 * g++.dg/template/error9.C: New test. PR c++/11116 * g++.dg/template/error8.C: New test. From-SVN: r74664
2003-12-16re PR rtl-optimization/13400 (Compiled code crashes storing to read-only ↵Roger Sayle4-0/+69
location) PR middle-end/13400 * ifcvt.c (noce_process_if_block): Disable unconditional write optimizations if we could introduce a store to trapping memory that wasn't present previously. * gcc.c-torture/execute/20031215-1.c: New test case. From-SVN: r74663
2003-12-16re PR c++/13269 (compiler hangs on invalid code)Mark Mitchell4-1/+13
PR c++/13269 * parser.c (cp_parser_function_definition_after_declarator): Stop scanning tokens when reaching EOF. PR c++/13269 * g++.dg/parse/error5.C: New test. From-SVN: r74661
2003-12-16re PR c++/12989 ([new parser] internal compiler error: tree check: expected ↵Mark Mitchell4-0/+14
field_decl) PR c++/12989 * typeck.c (cxx_sizeof_or_alignof_expr): Robustify. PR c++/12989 * g++.dg/expr/sizeof1.C: New test. From-SVN: r74660
2003-12-16Daily bump.GCC Administrator1-1/+1
From-SVN: r74658
2003-12-16system.h (DEFAULT_CALLER_SAVES): Poison.Kazu Hirata4-13/+7
* system.h (DEFAULT_CALLER_SAVES): Poison. * toplev.c (flag_caller_saves): Always initialize with 0. * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove. From-SVN: r74655
2003-12-16flow.c (EXIT_IGNORE_STACK): Move to ...Kazu Hirata11-30/+31
* flow.c (EXIT_IGNORE_STACK): Move to ... * defaults.h (EXIT_IGNORE_STACK): ... here. * dojump.c (clear_pending_stack_adjust): Don't use #ifdef EXIT_IGNORE_STACK. * function.c (expand_function_end): Likewise. * global.c (global_alloc): Likewise. * ra.c (init_ra): Likewise. * reload1.c (init_elim_table): Likewise. * reorg.c (fill_simple_delay_slots): Likewise. * resource.c (init_resource_info): Likewise. * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default is 0. From-SVN: r74654
2003-12-15re PR c++/13310 (Tree check error in dependent_template_p)Mark Mitchell4-0/+30
PR c++/13310 * pt.c (dependent_template_p): Handle OVERLOADs. PR c++/13310 * g++.dg/template/crash15.C: New test. From-SVN: r74649
2003-12-15vaarg3.C: Don't expect an error for passing a non-POD type as the last named ↵Geoffrey Keating2-1/+6
parameter of... * g++.old-deja/g++.pt/vaarg3.C: Don't expect an error for passing a non-POD type as the last named parameter of a varargs function. From-SVN: r74647
2003-12-15reload.c (reg_overlap_mentioned_for_reload_p): When looking at a PLUS in X...J"orn Rennecke3-4/+33
* reload.c (reg_overlap_mentioned_for_reload_p): When looking at a PLUS in X, avoid spuriously returning nonzero when IN is a REG or another simple PLUS, or a MEM containing one. * loop.c (loop_invariant_p): Amend comment about where new registers might come from. From-SVN: r74638
2003-12-15re PR c++/13243 (Segfault on illegal template construct)Mark Mitchell6-30/+82
PR c++/13243 PR c++/12573 * parser.c (cp_parser_postfix_expression): Tighten handling of integral constant expressions. (cp_parser_unary_expression): Likewise. * pt.c (value_dependent_expression_p): Remove handling for COMPONENT_REFs. PR c++/13243 PR c++/12573 * g++.dg/template/crash14.C: New test. * g++.dg/template/dependent-expr3.C: Add dg-error markers. From-SVN: r74637
2003-12-15rs6000.c (rs6000_output_function_epilogue): Remove handling of obsolete ↵Andreas Jaeger2-4/+6
language CHILL. * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove handling of obsolete language CHILL. From-SVN: r74634
2003-12-15tree.c (initializer_zerop): Add test for empty set.Waldek Hebisch3-1/+15
2003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl> * tree.c (initializer_zerop): Add test for empty set. * integrate.c (function_cannot_inline_p): Forbid inlining functions calling `longjmp'. From-SVN: r74633
2003-12-15re PR c++/11773 (GCOV misreports coverage for in-class C++ member functions)Nathan Sidwell2-5/+33
PR c++/11773 * doc/gcov.texi (Gcov and Optimization): Document inline function behaviour. Fix some file suffixes. From-SVN: r74630
2003-12-15class.c (add_method): Disallow destructor for java classes.Nathan Sidwell6-1/+51
cp: * class.c (add_method): Disallow destructor for java classes. * decl.c (xref_basetypes): Check java class inheritance. * decl2.c (check_java_method): Skip artificial params. testsuite: * g++.dg/other/java1.C: New test. From-SVN: r74629
2003-12-15re PR c++/13241 ([ABI] Incorrect mangling of template arguments)Nathan Sidwell5-36/+117
cp: PR c++/13241 C++ ABI change. Mangling of symbols in expressions. * mangle.c (write_mangled_name): Add top_level flag. Rework for nested and unnested mangling. Deal with abi version 1 and version 2 differences. (write_expression): Adjust write_mangled_name call. (mangle_decl_string): Use write_mangled_name for all non-type decls. testsuite: PR c++/13241 * g++.dg/abi/mangle18-1.C: New test. * g++.dg/abi/mangle18-2.C: New test. From-SVN: r74628
2003-12-15[multiple changes]Arnaud Charlet24-236/+420
2003-12-15 Robert Dewar <dewar@gnat.com> * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default sec stack size. 2003-12-15 Vincent Celier <celier@gnat.com> * gnatchop.adb: (Error_Msg): Do not exit on error for a warning (Gnatchop): Do not set failure status when reporting the number of warnings. 2003-12-15 Doug Rupp <rupp@gnat.com> * s-ctrl.ads: New file. * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext). * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o. (GNATBIND_OBJS): Add ada/s-crtl.o. * Makefile.in [VMS]: Clean up ifeq rules. * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb, a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb, g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb, s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb, s-tasdeb.adb: Update copyright. Import System.CRTL. Make minor modifications to use System.CRTL declared functions instead of importing locally. 2003-12-15 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated From-SVN: r74627
2003-12-15i386.h (__amd64, __amd64__): Remove duplicates.David O'Brien2-2/+4
2003-12-14 David O'Brien <obrien@FreeBSD.org> * config/i386/i386.h (__amd64, __amd64__): Remove duplicates. (committed as obvious) From-SVN: r74626
2003-12-15re PR rtl-optimization/10312 (optimizer creates wrong code for loop)Zdenek Dvorak2-0/+37
PR optimization/10312 * gcc.c-torture/execute/20031214-1.c: New. From-SVN: r74625
2003-12-15re PR c++/10779 (Error cascade for unknown type in function prototype)Mark Mitchell19-321/+385
* c-common.h (c_parse_error): Declare it. * c-common.c (c_parse_error): New function. * c-parse.y (yyerror): Use it. * parser.c (struct cp_parser): Add in_template_argument_list_p. (cp_parser_error): Use c_parse_error. (cp_parser_name_lookup_error): New function. (cp_parser_new): Initialize it. (cp_parser_declarator): Add parenthesized_p parameter. (cp_parser_nested_name_specifier_opt): Use cp_parser_name_lookup_error. (cp_parser_parenthesized_expression_list): Improve comments. (cp_parser_condition): Adjust call to cp_parser_declarator. (cp_parser_template_parameter): Adjust call to cp_parser_parameter_declaration. (cp_parser_template_argument_list): Set in_template_argument_list_p. (cp_parser_explicit_instantiation): Adjust call to cp_parser_declarator. (cp_parser_simple_type_specifier): Remove unncessary code. (cp_parser_using_declaration): Use cp_parser_name_lookup_error. (cp_parser_init_declarator): Handle member function definitions. (cp_parser_direct_declarator): Adjust call to cp_parser_declarator. (cp_parser_type_id): Adjust call to cp_parser_declarator. (cp_parser_parameter_declaration_list): Avoid backtracking where possible. (cp_parser_parameter_declaration): Add parenthesized_p parameter. (cp_parser_function_definition): Remove. (cp_parser_member_declaration): Do not backtrack to look for function definitions. (cp_parser_exception_declaration): Adjust call to cp_parser_declarator. (cp_parser_single_declaration): Handle function definitions via cp_parser_init_declarator. (cp_parser_save_member_function_body): New function. PR c++/10779 PR c++/12160 * g++.dg/parse/error3.C: New test. * g++.dg/parse/error4.C: Likewise. * g++.dg/abi/mangle4.C: Tweak error messages. * g++.dg/lookup/using5.C: Likewise. * g++.dg/other/error2.C: Likewise. * g++.dg/parse/typename5.C: Likewise. * g++.dg/parse/undefined1.C: Likewise. * g++.dg/template/arg2.C: Likewise. * g++.dg/template/ttp3.C: Likewise. * g++.dg/template/type1.C: Likewise. * g++.old-deja/g++.other/crash32.C: Likewise. * g++.old-djea/g++.pt/defarg8.C: Likewise. From-SVN: r74624
2003-12-15Daily bump.GCC Administrator1-1/+1
From-SVN: r74621
2003-12-14re PR c++/13106 (Wrong warning "no return statement ..." for void template ↵Kriang Lerdsuwanakij4-0/+21
function) PR c++/13106 * decl.c (finish_function): Check if return type is dependent before issuing no return statement warning. * g++.dg/warn/noreturn-3.C: New test. From-SVN: r74616
2003-12-14re PR target/13054 (compile/980310-3.f: insn does not satisfy its constraints)John David Anglin5-531/+1287
PR target/13054 * pa-protos.h (indexed_memory_operand, borx_reg_operand, move_dest_operand, move_src_operand): New protypes. (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted. * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand, move_src_operand): New functions. (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete. (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed address until cse is not expected on targets with non-equivalent space registers. (hppa_legitimize_address): Canonicalize unscaled indexed addresses on targets non-equivalent space registers. (emit_move_sequence): Break out indexed addresses from destination operand. Similarly, break out unscaled indexed addresses from source operand on targets with non-equivalent space registers. Fix REG_POINTER flag when possible. Mark register pointer when creating new pointers. (print_operand): Handle unscaled index addresses. * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines for EXTRA_CONSTRAINT. (EXTRA_CONSTRAINT): Rework to make more readable. (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New subroutines for GO_IF_LEGITIMATE_ADDRESS. (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines. Allow scaled and unscaled addresses. Canonicalize unscaled indexed addresses on targets with non-equivalent space registers. Document issues in handling indexed address modes on PA-RISC. (PREDICATE_CODES): Update for new and deleted predicates. * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand): Use new predicates in move patterns. Add peephole2 patterns to optimize floating point stores. Fix constrain preferencing in move patterns. Delete patterns for handling unscaled indexed memory loads. Add missing load and store with base-register modification patterns. Correct SFmode floating point store pattern. Add missing zero extension loads. From-SVN: r74614
2003-12-14Daily bump.GCC Administrator1-1/+1
From-SVN: r74609
2003-12-13vxlib.c: Fix comment typos.Kazu Hirata32-87/+87
* config/vxlib.c: Fix comment typos. * config/alpha/alpha.c: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm.md: Likewise. * config/c4x/c4x.c: Likewise. * config/c4x/c4x.md: Likewise. * config/cris/cris.h: Likewise. * config/cris/cris.md: Likewise. * config/fr30/fr30.c: Likewise. * config/fr30/fr30.h: Likewise. * config/fr30/fr30.md: Likewise. * config/frv/frv.c: Likewise. * config/frv/frv.md: Likewise. * config/frv/frvbegin.c: Likewise. * config/i386/athlon.md: Likewise. * config/i386/i386.c: Likewise. * config/i386/i386.md: Likewise. * config/i386/sco5.h: Likewise. * config/ia64/ia64.md: Likewise. * config/ip2k/ip2k.c: Likewise. * config/ip2k/ip2k.md: Likewise. * config/m68hc11/m68hc11.h: Likewise. * config/m68k/m68k.h: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/s390/s390.md: Likewise. * config/sh/sh.h: Likewise. * config/sparc/sparc.md: Likewise. * config/v850/v850.c: Likewise. * config/v850/v850.h: Likewise. * config/v850/v850.md: Likewise. * config/xtensa/xtensa.c: Likewise. From-SVN: r74596
2003-12-13ChangeLog: Fix typos.Kazu Hirata10-14/+14
* ChangeLog: Fix typos. * ChangeLog.1: Likewise. * ChangeLog.2: Likewise. * call.c: Fix comment typos. * class.c: Likewise. * cxx-pretty-print.c: Likewise. * mangle.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * tree.c: Likewise. From-SVN: r74595
2003-12-13c-typeck.c: Fix comment typos.Kazu Hirata20-27/+27
* c-typeck.c: Fix comment typos. * calls.c: Likewise. * cfgcleanup.c: Likewise. * cgraph.h: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * explow.c: Likewise. * expr.c: Likewise. * flow.c: Likewise. * function.c: Likewise. * gcc.c: Likewise. * ggc-zone.c: Likewise. * ifcvt.c: Likewise. * local-alloc.c: Likewise. * predict.c: Likewise. * pretty-print.c: Likewise. * profile.c: Likewise. * ra-colorize.c: Likewise. * sched-vis.c: Likewise. * stor-layout.c: Likewise. From-SVN: r74594
2003-12-13ggc-zone.c (struct alloc_zone): Don't pre-declare, it already comes in with ↵Steven Bosscher2-21/+56
ggc.h. * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already comes in with ggc.h. Add a new bool field `dead'. (destroy_ggc_zone): Don't destroy a zone at once. Instead, only set the `dead' flag for the dead zone. Wrap a sanity check in ENABLE_CHECKING. (ggc_collect_1): Always mark and sweep if a zone has the `dead' flag set. (ggc_collect): Free dead zones after collecting. From-SVN: r74592
2003-12-13coverage.c (get_coverage_counts): Use inform instead of warning about ↵Jan Hubicka2-2/+7
missing profile. * coverage.c (get_coverage_counts): Use inform instead of warning about missing profile. From-SVN: r74591
2003-12-13ggc-zone.c: Follow spelling conventions.Kazu Hirata5-5/+5
* ggc-zone.c: Follow spelling conventions. * config/rs6000/rs6000.c: Likewise. * pt.c: Likewise. * semantics.c: Likewise. * objc/objc-act.c: Likewise. From-SVN: r74590
2003-12-13Daily bump.GCC Administrator1-1/+1
From-SVN: r74588
2003-12-12* Makefile.in (opts.o, explow.o): Depend on langhooks.hSteven Bosscher2-2/+6
From-SVN: r74584
2003-12-12config.gcc: Don't use fixproto.Geoffrey Keating2-2/+5
* config.gcc <i[34567]86-*-darwin*>: Don't use fixproto. <powerpc-*-darwin*>: Likewise. From-SVN: r74581
2003-12-12re PR c++/13118 ([ABI] Missed covariant return thunk)Nathan Sidwell7-70/+153
cp: PR c++/13118 * cp-tree.h (lang_decl_u): Add thunk_alias member. (THUNK_VIRTUAL_OFFSET): Must be a FUNCTION_DECL. (THUNK_ALIAS_P): Remove. (THUNK_ALIAS): Adjust. * class.c (update_vtable_entry_for_fn): Get the vbase within the overriding function's return type. (dump_thunk): Adjust THUNK_ALIAS printing. (build_vtbl_initializer): Adjust THUNK_ALIAS use. * method.c (make_thunk): Revert 12881 test change. Clear THUNK_ALIAS. (finish_thunk): Adjust THUNK_ALIAS setting. (use_thunk): Adjust THUNK_ALIAS use. * semantics.c (emit_associated_thunks): Likewise. testsuite: PR c++/13118 * g++.dg/abi/covariant3.C: New. From-SVN: r74576
2003-12-12linux.h (IA64_GATE_AREA_END): Increase by 64K.Jakub Jelinek6-18/+162
* config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K. (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and br_loc[7]. Update comment. (MD_HANDLE_UNWABI): Define. * config/ia64/unwind-ia64.c (struct unw_state_record): Add unwabi field. (struct _Unwind_Context): Increase br_loc array size to 8 entries. (desc_abi): Set unwabi. (uw_update_reg_address): Allow br up to 7. (uw_update_context): Invoke MD_HANDLE_UNWABI if defined. (uw_install_context): Load b1..b5 from correct locations. Fix insn loading ar.fpsr. * doc/tm.texi: Document MD_HANDLE_UNWABI. * g++.dg/eh/ia64-1.C: New test. From-SVN: r74575
2003-12-12PR c++/13114, c++/13115Nathan Sidwell3-8/+16
PR c++/13114, c++/13115 * class.c (layout_empty_base): Propagate the move of an empty base to offset zero. From-SVN: r74573
2003-12-12re PR rtl-optimization/13037 ([gcse-lm] g77 generates incorrect code)Roger Sayle4-0/+73
PR optimization/13037 * loop.c (update_giv_derive): Ignore redundant sets of a biv when calculating how to derive a giv from a biv. * g77.f-torture/execute/13037.f: New test case. From-SVN: r74572
2003-12-12re PR c++/12881 (ICE in make_thunk)Nathan Sidwell4-9/+93
PR c++/12881 * method.c (make_thunk): Deal with thunk aliases when searching for a thunk. Robustify assertion. From-SVN: r74571
2003-12-12PR preprocessor/12935 preprocessor/12952 preprocessor/13046Neil Booth5-13/+51
PR preprocessor/12935 preprocessor/12952 preprocessor/13046 * cpplib.c (prepare_directive_trad): Clear skipping only in #if and #elif directives. (do_undef): Call the handler even if the identifier is not a macro. * cpptrad.c (scan_parameters): Emit an error message. (_cpp_create_trad_definition): Remember the params list even on failure. * testsuite/gcc.dg/cpp/trad/macro.c: New tests. From-SVN: r74562
2003-12-12arm.c (ARM_ADDRESS_COST, [...]): Convert macros to inline functions...Zack Weinberg2-39/+66
* arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros to inline functions: arm_arm_address_cost, arm_thumb_address_cost respectively. (arm_address_cost): Use 'em. From-SVN: r74560
2003-12-12* gcc.c-torture/execute/wchar_t-1.x: Delete.Zack Weinberg2-6/+7
From-SVN: r74559
2003-12-12osf.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__ to ISO C94 for C++.Rainer Orth5-5/+96
* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__ to ISO C94 for C++. * fixinc/inclhack.def (alpha_wchar): New fix. * fixinc/fixincl.x: Regenerate. * fixinc/tests/base/wchar.h: New file. From-SVN: r74558
2003-12-12Daily bump.GCC Administrator1-1/+1
From-SVN: r74554
2003-12-11libunwind related patch from David MosbergerDavid Mosberger7-74/+143
libunwind related patch from David Mosberger * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as required by C++ ABI for Itanium. * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c. * config/t-libunwind-no-eh: New file. * configure.in: Check libunwind for _Unwind_Resume() and if it's present, set libunwind_has_eh_support to "yes". * configure: Regenerate. * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh. From-SVN: r74548
2003-12-11mips.c (mips_global_pointer): Force functions with a nonlocal goto to set up ↵Richard Sandiford2-0/+10
$gp. * config/mips/mips.c (mips_global_pointer): Force functions with a nonlocal goto to set up $gp. From-SVN: r74547