doc: update tcc-doc.texi to match current implementation
Some checks failed
build and test / test-x86_64-linux (push) Has been cancelled
build and test / test-x86_64-osx (push) Has been cancelled
build and test / test-aarch64-osx (push) Has been cancelled
build and test / test-x86_64-win32 (push) Has been cancelled
build and test / test-i386-win32 (push) Has been cancelled
build and test / test-arm64-win32 (push) Has been cancelled
build and test / test-armv7-linux (push) Has been cancelled
build and test / test-aarch64-linux (push) Has been cancelled
build and test / test-riscv64-linux (push) Has been cancelled
build and test / test-i386-linux (push) Has been cancelled

Most of the manual predates the x86-64, ARM64, RISC-V 64 and Mach-O
targets, and parts of it describe things TCC never did or no longer
does.  Go through it against the sources: the target table, the C11 and
GNU C extensions, the attributes, built-ins and pragmas, the command
line options and their defaults, the assembler and linker chapters, the
bound checks and the libtcc call sequence.

The developer's guide had drifted the most, from CType and Sym.type down
to gfunc_call() and next_c(), and is resynced as well.

The option groups become @subheading instead of plain text.  texi2pod.pl
has no handler for it and would copy them verbatim into tcc.1, so add
one beside the @subsection handler, and move '@c man begin OPTIONS'
above the first heading so that all of them reach the man page.
This commit is contained in:
Huang Zhaobin 2026-08-04 00:59:13 +08:00
parent 64552b3faa
commit 2ba12e83b3
2 changed files with 704 additions and 186 deletions

File diff suppressed because it is too large Load Diff

View File

@ -239,6 +239,8 @@ while(<$inf>) {
and $_ = "\n=head2 $1\n";
/^\@subsection\s+(.+)$/
and $_ = "\n=head3 $1\n";
/^\@subheading\s+(.+)$/
and $_ = "\n=head3 $1\n";
# Block command handlers:
/^\@itemize\s+(\@[a-z]+|\*|-)/ and do {