Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GOTO-CC(1)			 User Commands			    GOTO-CC(1)

NAME
       goto-cc - C/C++ to goto compiler

SYNOPSIS
       goto-cc [options]

       goto-gcc	[options]

       goto-ld [options]

       goto-as [options]

       goto-bcc	[options]

       goto-armcc [options]

       goto-cw [options]

DESCRIPTION
       goto-cc	reads  source  code, and generates a GOTO binary. Its command-
       line interface is designed to mimic that	of gcc(1).  Note in particular
       that goto-cc distinguishes between compiling and	linking	 phases,  just
       as  gcc(1)  does.  cbmc(1)  expects a GOTO binary for which linking has
       been completed.

       The basename of the file	that is	used to	invoke goto-cc controls	 which
       behavior	will be	emulated. This is typically accomplished by using sym-
       bolic links.

	      goto-cc: invokes the default system compiler as preprocessor and
	      just builds a GOTO binary.

	      goto-gcc:	 invokes  gcc(1)  as preprocessor and builds an	elf(5)
	      object file including an additional goto-cc section  that	 holds
	      the GOTO binary.

	      goto-ld: only performs linking, and also builds an elf(5)	object
	      as above.

	      goto-as:	invokes	 the  system  assembler	as(1) and includes the
	      original assembly	source as a string in the output file.

	      goto-bcc:	invokes	bcc(1) as preprocessor.

	      goto-armcc: invokes armcc	as preprocessor	 and  enables  support
	      for the ARM's C dialect and command-line options.

	      goto-cw:	invokes	 mwcceppc  as preprocessor and enables support
	      for CodeWarrior's	C dialect and command-line options.

OPTIONS
       goto-cc understands the options of gcc(1) plus the following.

       --verbosity N
	      Set verbosity level to N,	which defaults to 1 (only  errors  are
	      printed).	 A  verbosity  of  0 disables all output. Using	a ver-
	      bosity of	2 or greater, or using -Wall  enables  warnings.  Ver-
	      bosity  levels 4,	6, 8, 9, or 10 add increasing amounts of debug
	      information.

       --function name
	      Set entry	point to name.

       --native-compiler cmd
	      Invoke cmd as preprocessor or compiler.

       --native-linker cmd
	      Invoke cmd as linker.

       --native-assembler cmd
	      Invoke cmd as assembler (goto-as only).

       --export-file-local-symbols
	      Name-mangle and export file-local	(aka static)  functions.  Name
	      mangling	prefixes  each symbol name by __CPROVER_file_local and
	      the basename of the file.	For example,

		  // foo.c
		  static int bar();

	      yields a globally	visible	 __CPROVER_file_local_foo_c_bar	 func-
	      tion.   Note  that this approach mangles all functions contained
	      in a translation unit.  We recommend using crangler(1) as	a more
	      configurable alternative.

       --mangle-suffix suffix
	      Append suffix to exported	file-local symbols.  Use  this	option
	      together with --export-file-local-symbols	when multiple files of
	      the  same	 base name contain a static function of	the same name.
	      If so, use a unique suffix in at least one of the	goto-cc	 invo-
	      cations used in compiling	those files.

       --print-rejected-preprocessed-source file
	      Copy failing (preprocessed) source to file.

BACKWARD COMPATIBILITY
       goto-cc	will  warn and ignore the use of --object-bits,	which previous
       versions	processed. This	option now  instead  needs  to	be  passed  to
       cbmc(1).

ENVIRONMENT
       All  tools honor	the TMPDIR environment variable	when generating	tempo-
       rary files and directories.  goto-cc aims  to  accept  all  environment
       variables that gcc(1) does.

BUGS
       If    you   encounter   a   problem   please   create   an   issue   at
       https://github.com/diffblue/cbmc/issues

SEE ALSO
       as(1), bcc(1), cbmc(1), crangler(1), elf(5), gcc(1), ld(1)

COPYRIGHT
       2006-2018, Daniel Kroening, Michael Tautschnig, Christoph Wintersteiger

goto-cc-5.59.0			   June	2022			    GOTO-CC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=goto-cc&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help