aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-12-17re PR target/11012 ([m32r-elf] wrong code with -O at branch of conditional)Kazu Hirata3-23/+13
PR target/11012 * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of gen_cmp_ne_small_const_insn. * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove. From-SVN: r74726
2003-12-17re PR c/3347 (Too large bitfields should be errors)Joseph Myers4-81/+129
2003-12-17 Neil Booth <neil@daikokuya.co.uk> Joseph S. Myers <jsm@polyomino.org.uk> PR c/3347 * c-decl.c (enum_decl_context): Remove BITFIELD. (grokdeclarator): Take bit-field width as an input. Perform bit-field width validation with check_bitfield_type_and_width rather than waiting for finish_struct. (groktypename, groktypename_in_parm_context, start_decl, push_parm_decl, grokfield, start_function): Update calls to grokdeclarator. (check_bitfield_type_and_width): New function. (finish_struct): Move bit-field validation to grokdeclarator and check_bitfield_type_and_width. testsuite: * gcc.dg/bitfld-8.c: New test. From-SVN: r74725
2003-12-17Daily bump.GCC Administrator1-1/+1
From-SVN: r74723
2003-12-16xscale testcases from James LemkeJames Lemke4-0/+51
xscale testcases from James Lemke * gcc.dg/arm-scd42-[123].c: New tests. From-SVN: r74712
2003-12-16re PR c++/9043 ([ABI] incorrect name mangling for array dimension in ↵Nathan Sidwell6-77/+125
template function) cp: PR c++/9043 C++ ABI change: Mangling array indices in templates. * decl.c (compute_array_index_type): Reorganize for earlier template errors. Use value_dependent_expression_p for abi-2. * mangle.c (write_array_type): Check broken mangling for expression indices on abi-1 testsuite: PR c++/9043 * g++.dg/abi/mangle20-1.C: New test. * g++.dg/abi/mangle20-2.C: New test. From-SVN: r74707
2003-12-16re PR bootstrap/13386 (HAVE_GAS_HIDDEN not set when using GAS with HP linker)John David Anglin3-51/+70
PR bootstrap/13386 * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when using HP native linker. * configure: Rebuilt. From-SVN: r74705
2003-12-16Fix typo.Giovanni Bajo1-1/+1
From-SVN: r74703
2003-12-16re PR c++/13275 (Implementation of offsetof macro)Mark Mitchell12-35/+143
PR c++/13275 * c-common.h (enum rid): Add RID_OFFSETOF. * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF. * ginclude/stddef.h (offsetof): Reimplement for C++, using __offsetof__. * doc/extend.texi: Document __offsetof__. PR c++/13275 * lex.c (reswords): Add "__offsetof" and "__offsetof__". * parser.c (cp_parser): Add in_offsetof_p. (cp_parser_new): Initialize it. (cp_parser_primary_expression): Handle __offsetof__ (...). (cp_parser_postfix_expression): Allow casts to pointer type and uses of "->" in a constant expression if implementing offsetof. (cp_parser_unary_expression): Allow the use of "&" in a constant expression if implementing offsetof. PR c++/13275 * g++.dg/other/offsetof2.C: Remove XFAIL. * g++.dg/parse/offsetof1.C: New test. * g++.gd/parse/offsetof2.C: Likewise. From-SVN: r74702
2003-12-16nontype3.C: New test.Giovanni Bajo3-1/+43
* g++.dg/template/nontype3.C: New test. * g++.dg/template/static2.C: Tweaked the dg-error clause. From-SVN: r74701
2003-12-16semantics.c (finish_id_expression): Refactor the code to handle template ↵Giovanni Bajo2-17/+37
parameters... * semantics.c (finish_id_expression): Refactor the code to handle template parameters, and emit a more informative error message when they are used within non integral constant expressions. From-SVN: r74700
2003-12-16* g++.dg/warn/noreturn-3.C: Also test instantiation.Kriang Lerdsuwanakij2-0/+8
From-SVN: r74698
2003-12-16iq2000.h: Formatting.Stan Cox4-661/+616
* config/iq2000/iq2000.h: Formatting. (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS) (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL) (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove * config/iq2000/iq2000.c: Formatting. (iq2000_rtx_costs): New. From-SVN: r74697
2003-12-16* arm.md (addsi3_carryin_shift): Add missing register constraints.Richard Earnshaw2-4/+8
From-SVN: r74694
2003-12-16badalloc1.C: Tweak to pass with -pthread on FreeBSD systems.Loren J. Rittle2-1/+24
* testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to pass with -pthread on FreeBSD systems. From-SVN: r74689
2003-12-16re PR c++/13387 (assignment to base class corrupts subclass)Nathan Sidwell6-1/+76
cp: PR c++/13387 * class.c (finish_struct_1): Compute mode and alias set for CLASSTYPE_AS_BASE. * call.c (build_over_call): Use CLASSTYPE_AS_BASE for trivial assignment of a class, as necessary. * cp-lang.c (cxx_get_alias_set): The alias set as a base is the same as for the complete type. testsuite: PR c++/13387 * g++.dg/expr/assign1.C: New test. From-SVN: r74683
2003-12-16re PR c++/13242 ([ABI] Incorrect mangling of template reference parameters)Nathan Sidwell5-30/+71
cp: PR c++/13242 C++ ABI change. Mangling template parameters of reference type * mangle.c (write_template_args): Remove unreachable code. (write_template_arg): Look through an argument of reference type. testsuite: PR c++/13242 * g++.dg/abi/mangle19-1.C: New test. * g++.dg/abi/mangle19-2.C: New test. From-SVN: r74682
2003-12-16mips.c (mips_file_end): Only write symbols that have been referenced at some ↵Richard Sandiford2-1/+7
point. * config/mips/mips.c (mips_file_end): Only write symbols that have been referenced at some point. From-SVN: r74681
2003-12-16mips.c: Include langhooks.hRichard Sandiford2-1/+7
* config/mips/mips.c: Include langhooks.h (mips_build_builtin_va_list): Use lang_hooks.types.make_type. From-SVN: r74678
2003-12-16* testsuite/gcc.dg/altivec-10.c: Test vec_cmple and vec_all_numeric.Hartmut Penner1-0/+4
From-SVN: r74677
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