Age | Commit message (Collapse) | Author | Files | Lines |
|
gcc:
* invoke.texi (-fdump-class-layout): Document.
(-fdump-translation-unit): Use `=' as filename separator.
cp:
Fix specification and implementation bugs in V3 ABI
construction vtables.
* cp-tree.h (flag_dump_class_layout): New flag.
(BINFO_OVERRIDE_ALONG_VIRTUAL_PATH_P): Remove.
(BINFO_LOST_PRIMARY_P): New flag.
(SET_BINFO_NEW_VTABLE_MARKED): Adjust asserts.
(BINFO_PRIMARY_MARKED_P): Rename to ...
(BINFO_PRIMARY_P): ... here.
(binfo_via_virtual): New prototype.
* decl2.c (flag_dump_class_layout): New flag.
(cxx_decode_option): Set it. Adjust -fdump-translation-unit to
use `=' as a file name separator.
* init.c (dfs_initialize_vtbl_ptrs): Walk into virtual primary
bases.
(build_vtbl_address): If this is a virtual primary base, then
get the vtbl of what it is ultimately primary for.
* search.c (dfs_skip_nonprimary_vbases_unmarkedp): Adjust
for BINFO_PRIMARY_P.
(dfs_skip_nonprimary_vbases_markedp): Likewise.
(get_shared_vbase_if_not_primary): Likewise.
(dfs_get_pure_virtuals): Likewise.
(expand_upcast_fixups): Likewise.
(fixup_virtual_upcast_offsets): Likewise.
(dfs_find_vbase_instance): Likewise.
(find_vbase_instance): Likewise.
(binfo_from_vbase): Adjust comment to reflect reality.
(binfo_via_virtual): New function.
* class.c (VTT_TOP_LEVEL_P, VTT_MARKED_BINFO_P): New macros
for binfo walking during VTT construction.
(dfs_mark_primary_bases): Remove.
(force_canonical_binfo_r): New function.
(force_canonical_binfo): New function.
(mark_primary_virtual_base): New function.
(mark_primary_bases): Walk in inheritance graph order, use
mark_primary_virtual_base.
(determine_primary_base): Use some more intermediate variables.
(dfs_find_final_overrider): Don't check for overriding along a
virtual path.
(dfs_modify_vtables): Walk into primary virtual bases too.
(walk_subobject_offsets): Adjust for BINFO_PRIMARY_P.
(build_base_fields): Likewise.
(dfs_set_offset_for_unshared_vbases): Likewise.
(layout_virtual_bases): Likewise.
(end_of_class): Likewise.
(finish_struct_1): Call dump_class_hierarchy, if requested.
(dfs_get_primary_binfo): Use BINFO_TYPE for binfos.
(dump_class_hierarchy_r): Add stream parameter. Emit more information.
(dump_class_hierarchy): Add file parameter. Append to file, if
required.
(finish_vtbls): Adjust accumulate_vtbl_inits call.
Use canonical base for virtual bases.
(build_vtt): Add more comments. Adjust build_vtt_inits call.
(build_vtt_inits): Remove VIRTUAL_VTTS_P parm.
Only set BINFO_VPTR_INDEX on top level. Use VTT_TOP_LEVEL_P,
VTT_MARKED_BINFO_P for binfo walking. Use canonical vbase for
virtual VTTs.
(dfs_build_secondary_vptr_vtt_inits): Extract VTT_TOP_LEVEL_P
from DATA. We want virtual primary bases and all bases via virtual.
Only set BINFO_VPTR_INDEX for top level. Look up from a primary
virtual base when not a construction vtable.
(dfs_ctor_vtable_bases_queue_p): New DFS predicate.
(build_ctor_vtbl_group): Adjust accumulate_vtbl_inits call.
Use canonical bases when processing virtual bases.
(accumulate_vtbl_inits): We're interested in any base via a
virtual path.
(dfs_accumulate_vtbl_inits): If this is a primary virtual base
within a construction vtable, determine what is being overridden.
(build_vtbl_initializer): Add more comments
(add_vcall_offset_vtbl_entries_1): Adjust comment.
(build_rtti_vtbl_entries): Check if the base has lost its
primary.
testsuite:
* g++.old-deja/g++.abi/primary2.C: New test.
* g++.old-deja/g++.abi/primary3.C: New test.
* g++.old-deja/g++.abi/primary4.C: New test.
* g++.old-deja/g++.abi/primary5.C: New test.
* g++.old-deja/g++.abi/vtable3.h: New test.
* g++.old-deja/g++.abi/vtable3a.C: New test.
* g++.old-deja/g++.abi/vtable3b.C: New test.
* g++.old-deja/g++.abi/vtable3c.C: New test.
* g++.old-deja/g++.abi/vtable3d.C: New test.
* g++.old-deja/g++.abi/vtable3e.C: New test.
* g++.old-deja/g++.abi/vtable3f.C: New test.
* g++.old-deja/g++.abi/vtable3g.C: New test.
* g++.old-deja/g++.abi/vtable3h.C: New test.
* g++.old-deja/g++.abi/vtable3i.C: New test.
* g++.old-deja/g++.abi/vtable3j.C: New test.
* g++.old-deja/g++.oliva/thunk1.C: Remove XFAIL.
From-SVN: r39455
|
|
From-SVN: r39414
|
|
* gcc.c (init_gcc_specs): New function. Make -shared-libgcc
the default when building a shared object.
(init_spec): Use it.
* testsuite/lib/g++.exp: Include the directory where libgcc
is located to the LD_LIBRARY_PATH list.
* inovke.texi (-shared-libgcc): Document the cases in which
* Make-lang.in (g++spec.o): Add DRIVER_DEFINES to the list
of macros used when compiling g++spec.c.
* g++spec.c (lang_specific_driver): Link with the shared
libgcc by default.
From-SVN: r39408
|
|
Document %B and %j and %. and %v3 and %M and %{S*&T} spec switches.
From-SVN: r39210
|
|
* invoke.texi (IA-64 options): Improve.
From-SVN: r39099
|
|
* invoke.texi (Optimize Options): Use `{}' to around @samp
argument.
From-SVN: r39098
|
|
From-SVN: r39096
|
|
From-SVN: r39076
|
|
contrib:
* gcc_update: Add gcc/gcc.1 to generated files.
* texi2pod.pl: Handle @r and @gccoptlist. Handle @gol. Handle
discarding to end of sentence with @xref where the sentence has an
interior "." in markup, and handle discarding parentheses around
such a sentence.
gcc:
* Makefile.in (generated-manpages): Add gcc.1
($(srcdir)/gcc.1): New target.
(maintainer-clean): Delete $(srcdir)/gcc.1.
* gcc.texi: Add macros @gccoptlist and @gol.
* invoke.texi: Include option summary in manpage. Mark up option
summary with @gccoptlist and @gol. Use @r in one place where
appropriate.
* texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
* gcc.1: Generate from invoke.texi.
gcc/cp:
* g++.1: Change to be ".so man1/gcc.1".
From-SVN: r38993
|
|
* cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
-std options alongside references to -ansi. Update some
documentation for C99.
* cpp.1: Regenerate.
From-SVN: r38956
|
|
{save|restore}_machine_status
From-SVN: r38955
|
|
From-SVN: r38922
|
|
* invoke.texi: Restore documentation of the drivers' switches -MD
and -MMD.
From-SVN: r38920
|
|
Document {init|mark|free}_machine_status.
From-SVN: r38882
|
|
* invoke.texi: Document that -fcond-mismatch isn't supported for
C++.
cp:
* cp-tree.h (flag_cond_mismatch): Don't declare.
* decl2.c (flag_cond_mismatch): Don't define.
(lang_f_options): Remove cond-mismatch.
(unsupported_options): Add cond-mismatch.
From-SVN: r38864
|
|
gcc:
* gcc.texi: Define macro gcctabopt.
* invoke.texi: Add manpage sections BUGS and AUTHOR. Use
@command, @env and @option in some places where appropriate. Use
@gcctabopt where appropriate. Put URLs and email addresses inside
@w.
contrib:
* texi2pod.pl: Handle @gcctabopt and @env in tables. Handle
@command. Format URLs and email addresses in bold.
From-SVN: r38863
|
|
2001-01-10 Phil Edwards <pme@sources.redhat.com>
* invoke.texi: Fix another typo.
From-SVN: r38858
|
|
2001-01-10 Phil Edwards <pme@sources.redhat.com>
* invoke.texi: Fix typo.
From-SVN: r38857
|
|
* cppinit.c (OPT_MD, OPT_MMD): Restore.
(cpp_handle_option): Handle them.
(cpp_post_options): Ensure one of -M or -MM is specified with
any other -M? option.
(init_dependency_output): Suppress output with -MG.
* cpp.texi: Update.
* invoke.texi: Update.
From-SVN: r38833
|
|
NO_SHARED_LIBGCC_MULTILIB as required for the...
* Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
NO_SHARED_LIBGCC_MULTILIB as required for the target.
* gcc.c (init_spec): Massage the existing libgcc_spec into a
variant that handles a shared libgcc.
(process_command): Always validate -{static,shared}-libgcc.
(do_spec_1): New 'M' case.
* invoke.text (Link Options): Document -{static,shared}-libgcc.
From-SVN: r38762
|
|
* i386.c (ix86_split_to_parts): Return number of part required;
handle TFmodes.
(print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
TFmodes.
(ix86_split_long_move): Use number of part returned
by ix86_split_to_parts
* i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
New macros.
(TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
(LONG_DOUBLE_TYPE_SIZE): Change from constant.
(MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
(INTEL_EXTENDED_IEEE_FORMAT): Likewise.
(ALIGN_MODE_128): Add TFmode.
(IS_STACK_MODE): Likewise.
(HARD_REGNO_NREGS): TFmode needs 3 registers.
(HARD_REGNO_OK): Support TFmodes.
(ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
* i386.md (scheduler definitions): Use memory operand to determine
fst/fld instructions; use mode attribute to determine real mode of
the instruction.
(*tf): New patterns, expanders and splitters; based on XFmode patterns.
* invoke.texi (128bit-long-double, 96bit-long-double): Document.
From-SVN: r38633
|
|
* c-decl.c (c_decode_option): Remove support of
-Wmissing-noreturn.
* toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
(W_options): Add -Wmissing-noreturn here.
* flow.c: Define lang_missing_noreturn_ok_p.
(check_function_return_warnings): Use it.
* c-common.h: Declare lang_missing_noreturn_ok_p.
* c-lang.c (c_missing_noreturn_ok_p): New function.
(lang_init): Set lang_missing_noreturn_ok_p.
* invoke.texi (Warning Options): Document this.
From-SVN: r38612
|
|
init_priority and com_interface.
2000-12-27 Phil Edwards <pme@sources.redhat.com>
* extend.texi (C++ Extensions): New node for C++ attributes;
describe init_priority and com_interface.
* invoke.texi: Remove -finit-priority as it now has zero effect.
* install.texi: Fix xref syntax.
* md.texi: Likewise.
From-SVN: r38610
|
|
* c-common.c (enum format_type): Add strfmon_format_type.
(decl_attributes): Handle format attributes strfmon and
__strfmon__.
(FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
FMT_FLAG_EMPTY_PREC_OK): Define.
(format_char_info): Update comment for flag_chars.
(format_flag_spec): Add skip_next_char.
(format_kind_info): Add left_precision_char.
(printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
format_types): Update for these new structure members and flags.
(time_char_table): Make const.
(strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
monetary_char_table): New.
(format_types): Add details of strfmon formats.
(init_function_format_info): Create default attribute for strfmon.
(check_format_info_main): Check the new flags. Handle
skip_next_char and left precision.
* toplev.c (documented_lang_options): Update description of
-Wformat.
* extend.texi: Document strfmon format attributes. Document
attribute forms such as __printf__. Clarify format_arg attribute
documentation.
* invoke.texi (-Wformat): Update for strfmon formats.
testsuite:
* gcc.dg/format-strfmon-1.c: New test.
From-SVN: r38512
|
|
* invoke.texi (-print-search-dirs): Make references to cpp refer
to cpp0 instead.
From-SVN: r38378
|
|
* c-common.c (warn_format_security): New variable.
(check_format_info): Warn about non-literal formats with no format
arguments if either -Wformat-nonliteral or -Wformat-security is
specified.
(set_Wformat): Set warn_format_security for settings other than 1.
* c-common.h (warn_format_security): Declare.
* c-decl.c (c_decode_option): Decode -Wformat-security and
-Wno-format-security.
* invoke.texi: Document -Wformat-security.
* toplev.c (documented_lang_options): Include -Wformat-security
and -Wno-format-security.
cp:
* decl2.c (lang_decode_option): Handle -Wformat-security.
testsuite:
* format-sec-1.c: New test.
From-SVN: r38106
|
|
* invoke.texi (-Wformat): Document what format features are
checked.
From-SVN: r38103
|
|
language standards.
* invoke.texi: Use @table @samp instead of @itemize @minus for
table of language standards. Fix use of @pxref. From Zack
Weinberg. Also exclude specs documentation from generated
manpage, and create separate ENVIRONMENT section.
From-SVN: r38069
|
|
* invoke.texi: Add support for using texi2pod.pl. Don't use
@multitable.
From-SVN: r38024
|
|
2000-12-03 Phil Edwards <pme@sources.redhat.com>
* invoke.texi: Replace `pedwarns' with clearer text.
From-SVN: r38008
|
|
* c-common.c (warn_format, warn_format_y2k,
warn_format_extra_args, warn_format_nonliteral): Define.
(check_format_info): Check warn_format_nonliteral and
warn_format_extra_args.
(check_format_info_main): Check warn_format_y2k.
(set_Wformat): New function.
* c-common.h (warn_format_y2k, warn_format_extra_args,
warn_format_nonliteral, set_Wformat): Declare.
* c-decl.c (warn_format): Remove definition.
(c_decode_option): Handle -Wformat-nonliteral,
-Wno-format-extra-args and -Wno-format-y2k, and negated versions.
Use set_Wformat.
* invoke.texi: Document these new options and -Wformat=2.
* toplev.c (documented_lang_options): Add these new options.
cp:
* decl2.c (warn_format): Remove definition.
(lang_decode_option): Handle -Wformat-nonliteral,
-Wno-format-extra-args and -Wno-format-y2k. Use set_Wformat.
testsuite:
* gcc.dg/format-no-exargs-1.c, gcc.dg/format-no-y2k-1.c,
gcc.dg/format-nonlit-1.c, gcc.dg/format-nonlit-2.c: New tests.
From-SVN: r37933
|
|
link to the current one ...
* install.texi (avr): Replace incomplete list of supported MCU
types with a link to the current one ...
* invoke.texi (AVR Options): ... here. Update -mmcu= to list
all supported MCU types. Document -minit-stack= default.
Document new options -mno-tablejump, -mtiny-stack.
* md.texi (AVR family): Fix typo in 'w' constraint letter
description. Document 'q'. Update 'O'.
From-SVN: r37917
|
|
From-SVN: r37744
|
|
From-SVN: r37573
|
|
* invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
-time): Update.
From-SVN: r37426
|
|
From-SVN: r37424
|
|
From-SVN: r37408
|
|
From-SVN: r37386
|
|
* gcc.texi, invoke.texi: Add new section discussing language
standards; link to it where appropriate; refer to ISO C instead of
ANSI C.
From-SVN: r37383
|
|
functions to one place and...
* extend.texi, invoke.texi: Move documentation of builtin versions
of C library functions to one place and update.
From-SVN: r37355
|
|
From-SVN: r37156
|
|
driver and compiler.
* invoke.texi: Document that -V will only work for very similar
versions of driver and compiler.
From-SVN: r37125
|
|
From-SVN: r37093
|
|
* invoke.texi: Document -frename-registers. Add it to -O3.
* toplev.c (rest_of_compilation): Run regrename before ifcvt2.
(enum dump_file_index, dump_file): Update order.
(main): Set flag_rename_registers at -O3.
From-SVN: r37092
|
|
-pedantic to when...
* c-decl.c (grokdeclarator): Move warning for qualified void
return types with -pedantic to when the function type is
constructed. At -W, warn in general for qualified function return
types, except for volatile void.
* invoke.texi: Document this new warning at -W.
testsuite:
* gcc.dg/qual-return-1.c, gcc.dg/qual-return-2.c: New tests.
From-SVN: r37056
|
|
From-SVN: r36942
|
|
From-SVN: r36910
|
|
* c-common.h (warn_missing_format_attribute): New variable.
* c-decl.c (warn_missing_format_attribute): New variable.
(c_decode_option): Decode -Wmissing-format-attribute and
-Wno-missing-format-attribute.
* c-common.c (check_function_format): If
-Wmissing-format-attribute, give a warning where a vprintf or
vscanf function is called by a function without its own printf or
scanf attribute.
* toplev.c (documented_lang_options): Add
-Wmissing-format-attribute.
* invoke.texi: Document -Wmissing-format-attribute.
cp:
* decl2.c (warn_missing_format_attribute): New variable.
(lang_decode_option): Decode -Wmissing-format-attribute.
testsuite:
* gcc.dg/format-miss-1.c: New test.
From-SVN: r36897
|
|
along with -shared...
2000-10-17 Marc Espie <espie@openbsd.org>
* invoke.texi (-shared): Insist on requiring code generation flags
to be used along with -shared, and document the subtle failure that
may occur otherwise.
From-SVN: r36896
|
|
* c-typeck.c (check_modify_expr): New function.
(build_modify_expr): Call it if warn_sequence_point.
* c-decl.c (warn_sequence_point): New variable.
(c_decode_option): Handle -Wsequence-point and
-Wno-sequence-point. Enable -Wsequence-point as part of -Wall.
* c-tree.h (warn_sequence_point): Declare.
* invoke.texi (-Wsequence-point): Document.
* toplev.c (documented_lang_options): Add -Wsequence-point and
-Wno-sequence-point.
Original work by Michael Meeks, 16 Jun 1998.
testsuite:
* gcc.dg/sequence-pt-1.c: New test.
From-SVN: r36840
|