Age | Commit message (Collapse) | Author | Files | Lines |
|
type and a base class, in xref_basetypes, at cp/decl.c:12834)
PR c++/10793
* decl.c (xref_basetypes): Handle error_mark_node.
* g++.dg/template/crash9.C: New test.
From-SVN: r69671
|
|
PR c++/3004
* g++.dg/parse/typedef3.C: New test.
PR c++/7906
* g++.dg/parse/operator2.C: New test.
PR c++/8895
* g++.dg/parse/def-tmpl-arg1.C: New test.
PR c++/9282
* g++.dg/parse/funptr1.C: New test.
PR c++/9452
* g++.dg/parse/ambig3.C: New test.
PR c++/9454
* g++.dg/parse/operator3.C: New test.
PR c++/9486
* g++.dg/parse/template10.C: New test.
PR c++/9488
* g++.dg/parse/template11.C: New test.
PR c++/10150
* g++.dg/parse/invalid-op1.C: New test.
PR c++/10247
* g++.dg/parse/condexpr1.C: New test.
From-SVN: r69670
|
|
cp:
* cp-tree.h (enum cp_lvalue_kind): Add clk_packed.
* tree.c (lvalue_p_1): Set it.
* class.c (check_field): Don't allow non-packed non-POD fields to
be packed.
* call.c (reference_binding): Need a temporary for all bitfield
and packed fields.
(convert_like_real): Check it is ok to make a temporary here.
testsuite:
* g++.dg/ext/packed3.C: New test.
* g++.dg/ext/packed4.C: New test.
From-SVN: r69669
|
|
* c-common.c (handle_packed_attribute): Don't pack a struct via a
typedef. Propagate packedness from a main variant.
testsuite:
* gcc.dg/pack-test-3.c: New test.
From-SVN: r69668
|
|
From-SVN: r69665
|
|
* c-common.c (c_common_type_for_mode): Return integer types for
pointer modes.
From-SVN: r69661
|
|
* c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
(finish_decl): Call maybe_apply_pragma_weak here.
(grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
TREE_PUBLIC and TREE_STATIC are decided.
(start_function): Move call to maybe_apply_pragma_weak. Check that
DECL_ASSEMBLER_NAME isn't set too early.
From-SVN: r69660
|
|
* cpplex.c (_cpp_process_line_notes): Mention option name in
trigraphs warning.
From-SVN: r69659
|
|
and 1.
* combine.c (if_then_else_cond): Simplify the comparison of
rtx against -1, 0, and 1.
* loop.c (check_dbra_loop): Likewise.
* optabs.c (emit_conditional_move): Likewise.
(emit_conditional_add): Likewise.
* config/i386/i386.md (*movsi_or): Likewise.
(*movdi_or_rex6): Likewise.
From-SVN: r69658
|
|
From-SVN: r69656
|
|
From-SVN: r69652
|
|
* c-common.h (num_in_fnames): Declare.
(c_static_assembler_name): Move from here...
* c-tree.h (c_static_assembler_name): ... to here.
* c-opts.c: Don't include langhooks-def.h.
(c_static_assembler_name): Move to c-decl.c.
(num_in_fnames): Make externally visible.
* c-decl.c: Include langhooks-def.h.
(c_static_assembler_name): Move from c-opts.c.
* Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
(c-opts.o): Remove $(LANGHOOKS_DEF_H).
From-SVN: r69650
|
|
* lib/compat.exp: Handle dg-options per source file.
* g++.dg/compat/abi/bitfield1_x.C: Specify dg-options.
* g++.dg/compat/abi/bitfield1_y.C: Ditto.
* g++.dg/compat/abi/bitfield2_x.C: Ditto.
* g++.dg/compat/abi/bitfield2_y.C: Ditto.
* g++.dg/compat/abi/vbase8-10_x.C: Ditto.
* g++.dg/compat/abi/vbase8-10_y.C: Ditto.
* g++.dg/compat/abi/vbase8-21_x.C: Ditto.
* g++.dg/compat/abi/vbase8-21_y.C: Ditto.
* g++.dg/compat/abi/vbase8-22_x.C: Ditto.
* g++.dg/compat/abi/vbase8-22_y.C: Ditto.
* g++.dg/compat/abi/vbase8-4_x.C: Ditto.
* g++.dg/compat/abi/vbase8-4_y.C: Ditto.
* g++.dg/compat/break/bitfield7_x.C: Ditto.
* g++.dg/compat/break/bitfield7_y.C: Ditto.
From-SVN: r69649
|
|
* cppfiles.c (open_file_pch): Don't put unused entries in the
splay tree. Remove dead code.
From-SVN: r69647
|
|
it's not needed.
* c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
when it's not needed.
From-SVN: r69646
|
|
* config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
* config/rs6000/rs6000.c (rs6000_return_addr): Set it.
(rs6000_emit_prologue): Save FPRs inline if set.
From-SVN: r69645
|
|
2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
* config/ia64/ia64.md (prefetch): Support predicate.
From-SVN: r69642
|
|
inlined)
2003-07-21 Andrew Pinski <pinskia@physics.uc.edu>
PR c/10320
* gcc.c-torture/execute/20030718-1.c: New test.
From-SVN: r69639
|
|
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
* rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
table.
From-SVN: r69637
|
|
wrong code)
PR optimization/11536
* unroll.c (loop_iterations): Do not replace a register holding
the final value by its equivalent before the loop if it is not
invariant.
PR optimization/11536
* gcc.dg/20030721-1.c: New test.
From-SVN: r69635
|
|
From-SVN: r69633
|
|
From-SVN: r69632
|
|
* doc/invoke.texi (Optimize Options): Replace "it's" with "its".
(V850 Options): Spelling fixes.
From-SVN: r69627
|
|
* Replace "callgraph.{c,o}" with "cgraph.{c,o}" (corrected).
From-SVN: r69626
|
|
cp:
* cp-tree.h (hack_identifier): Remove.
* method.c (hack_identifier): Remove.
* semantics.c (finish_id_expression): Expand hack_identifier
here. Simplify.
From-SVN: r69625
|
|
From-SVN: r69618
|
|
From-SVN: r69613
|
|
* builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
* system.h (SMALL_STACK): Poison obsolete target macro.
* doc/tm.texi (SMALL_STACK): Remove target macro documentation.
From-SVN: r69609
|
|
2003-07-20 Phil Edwards <pme@gcc.gnu.org>
* configure.in: Cache the results of testing for cmp's capabilities.
* configure: Regenerate.
From-SVN: r69607
|
|
PR debug/11279
* dwarf2out.c (gen_enumeration_type_die): Remember that
enumerators can be unsigned.
From-SVN: r69605
|
|
doubly nested from a template class)
PR c++/11546
* g++.dg/template/lookup1.C: New test.
From-SVN: r69602
|
|
From-SVN: r69599
|
|
(push_label_level, pop_label_level): Kill.
(struct binding_level): Rename level_chain to outer.
Add outer_function field. Change parm_flag, function_body,
keep, keep_if_subblocks to 1-bit bitfields of type bool.
(current_function_level): New variable.
(keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
(keep_next_level, declare_parm_level, warn_if_shadowing):
Update to match.
(struct language_function): Kill named_labels, shadowed_labels fields.
(c_init_decl_processing, start_function, c_push__function_context)
(c_pop_function_context): No need to muck with named_labels nor
shadowed_labels.
(make_binding_level): No need to clear the structure here.
(pop_binding_level): Always operate on current_binding_level.
Update current_function_level if necessary.
(pushlevel): Don't clear named_labels. Update current_function_level
if necessary. Use "true" and "false" where appropriate.
(poplevel): Diagnose labels defined but not used, or vice
versa, and clear out label-meanings leaving scope, while
walking down the decls list, for all binding levels.
Handle LABEL_DECLs appearing in the shadowed list.
pop_binding_level takes no arguments.
(pushdecl_function_level): Use current_function_level.
(make_label, bind_label): New static functions.
(declare_label): New exported function.
(lookup_label, define_label): Rewritten for new data structure.
(shadow_label): Kill.
* c-tree.h: Prototype declare_label; don't prototype
push_label_level, pop_label_level, nor shadow_label.
* c-parse.in: Remove all calls to push_label_level and
pop_label_level. Use declare_label for __label__ decls.
* doc/extend.texi: Clarify that __label__ can be used to
declare labels with local scope in any nested block, not
just statement expressions. Cross-reference nested functions
section from local labels section.
testsuite:
* gcc.dg/noncompile/label-1.c: New comprehensive test case for
diagnostics of ill-formed constructs involving labels.
* gcc.dg/noncompile/label-lineno-1.c: Add error regexp for
the new 'previously defined here' message.
From-SVN: r69597
|
|
From-SVN: r69595
|
|
2003-07-19 Phil Edwards <pme@gcc.gnu.org>
* doc/makefile.texi (restrap, profiledbootstrap): Document targets.
From-SVN: r69594
|
|
gcc:
* fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
f:
* com.c data.c expr.c fini.c g77spec.c global.c lab.c lex.c name.c
sta.c stc.c std.c storag.c stt.c stw.c symbol.c target.c type.c:
Remove unnecessary casts.
cp:
* call.c class.c decl.c decl2.c g++spec.c lex.c parser.c pt.c rtti.c
semantics.c typeck.c: Remove unnecessary casts.
java:
* class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
casts.
treelang:
* treetree.c: Remove unnecessary casts.
From-SVN: r69593
|
|
instead of relative to the literal...
* config/s390/s390.c (legitimize_pic_address): Access local symbols
relative to the GOT instead of relative to the literal pool base.
(s390_output_symbolic_const): Handle new GOT-relative accesses.
* config/s390/s390.md ("call"): Access local functions and PLT stubs
relative to the GOT instead of relative to the literal pool base.
("call_value"): Likewise.
("call_value_tls"): Likewise.
* config/s390/s390.c (s390_chunkify_start): Remove pool anchor
reloading. Support LTREL_BASE / LTREL_OFFSET construct.
(s390_chunkify_finish): Likewise.
(s390_chunkify_cancel): Likewise.
(s390_reorg): Adapt caller.
(find_base_register_in_addr,
find_base_register_ref, replace_base_register_ref): Delete.
(find_ltrel_base, replace_ltrel_base): New functions.
(find_constant_pool_ref): Handle LTREL_BASE unspecs.
(s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
base vs. index register usage.
(struct constant_pool): Remove 'anchor'.
(s390_add_anchor): Delete.
(s390_dump_pool): Remove anchor handling.
* config/s390/s390.md ("reload_anchor"): Remove.
* config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
(s390_load_got): New function. Use LTREL_BASE/OFFSET.
(s390_emit_prologue): Use it.
* config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
"builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
hard-code register 14.
* config/s390/s390-protos.h (s390_load_got): Declare.
* config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
Support TImode constants.
* config/s390/s390.md ("consttable_ti"): New.
("consttable_si", "consttable_di"): Handle TLS symbols correctly.
* config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
New symbolic constants.
("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
"consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
"pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
"pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
symbolic UNSPEC values.
* config/s390/s390.c (larl_operand, s390_short_displacement,
bras_sym_operand, s390_cannot_force_const_mem,
s390_delegitimize_address, s390_decompose_address,
legitimize_pic_address, s390_output_symbolic_const,
s390_function_profiler): Use symbolic UNSPEC values.
From-SVN: r69592
|
|
* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
genemit.c genextract.c genoutput.c genrecog.c gensupport.c
ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
postreload.c prefix.c print-tree.c protoize.c ra-build.c
ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
regmove.c regrename.c reload.c reload1.c reorg.c resource.c
sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
casts.
From-SVN: r69587
|
|
* c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
* toplev.h (warning): Remove attribute.
From-SVN: r69585
|
|
From-SVN: r69583
|
|
* c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
(pop_label_level): Likewise.
(duplicate_decls): Likewise.
(implicitly_declare): Likewise.
(shadow_label): Likewise.
(start_decl): Likewise.
(finish_decl): Likewise.
(grokdeclarator): Likewise.
(get_parm_info): Likewise.
(detect_field_duplicates): Likewise.
(finish_struct): Likewise.
(start_function): Likewise.
(store_parm_decls): Likewise.
(finish_function): Likewise.
(c_expand_body_1): Likewise.
(check_for_loop_decls): Likewise.
(merge_translation_unit_decls): Likewise.
From-SVN: r69582
|
|
* common.opt: Document --param.
* opts.c (columns, undocumented_msg): New.
(print_help): Get number of columns from environment. Print
--param help. Tweak newline handling.
(print_param_help): New.
(print_filtered_help): Better handling of duplicates. Complain
about undocumented switches.
(print_switch): New.
(wrap_help): Improve wrapping, use COLUMNS.
* opts.sh: Ignore comments in records.
* params.def: Fix typos and remove trailing periods.
* toplev.c (display_help): Don't dump --param help.
* doc/sourcebuild.texi: Update.
java:
* lang.opt: Don't show -MD_ and -MDD_.
From-SVN: r69581
|
|
From-SVN: r69580
|
|
predicate doesn't satisfy.
2003-07-18 Richard Henderson <rth@redhat.com>
* optabs.c (prepare_operand): Fail gracefully instead of abort
if the predicate doesn't satisfy.
(gen_cond_trap): Allow prepare_operand to fail.
From-SVN: r69578
|
|
From-SVN: r69575
|
|
* c-common.c: Don't undefine GCC_DIAG_STYLE.
(fname_decl): Don't use xxx_with_decl.
(c_add_case_label): Likewise.
(handle_section_attribute): Likewise.
(handle_alias_attribute): Likewise.
(handle_no_instrument_function_attribute): Likewise.
(handle_no_limit_stack_attribute): Likewise.
* c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
* c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
From-SVN: r69573
|
|
* Makefile.in (ifcvt.o): Add cfgloop.h.
* basic-block.h (EDGE_LOOP_EXIT): New flag.
* cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
* ifcvt.c: Include cfgloop.h.
(mark_loop_exit_edges): New static function.
(if_convert): Call it.
(find_if_header): Ignore branches out of loops.
From-SVN: r69572
|
|
(not X) 1) 0) to (eq (and X 1) 0).
* combine.c (simplify_comparison): Don't share rtx when converting
(ne (and (not X) 1) 0) to (eq (and X 1) 0).
From-SVN: r69571
|
|
* config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
(AGGREGATES_PAD_UPWARD_ALWAYS): Define.
(MUST_PASS_IN_STACK): Define.
(BLOCK_REG_PADDING): Define.
From-SVN: r69570
|
|
* cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
to skip the addr_vec.
From-SVN: r69569
|