gccgo-4.8(1)


NAME

   gccgo - A GCC-based compiler for the Go language

SYNOPSIS

   gccgo [-c|-S]
         [-g] [-pg] [-Olevel]
         [-Idir...] [-Ldir...]
         [-o outfile] infile...

   Only the most useful options are listed here; see below for the
   remainder.

DESCRIPTION

   The gccgo command is a frontend to gcc and supports many of the same
   options.    This manual only documents the options specific to gccgo.

   The gccgo command may be used to compile Go source code into an object
   file, link a collection of object files together, or do both in
   sequence.

   Go source code is compiled as packages.  A package consists of one or
   more Go source files.  All the files in a single package must be
   compiled together, by passing all the files as arguments to gccgo.  A
   single invocation of gccgo may only compile a single package.

   One Go package may "import" a different Go package.  The imported
   package must have already been compiled; gccgo will read the import
   data directly from the compiled package.  When this package is later
   linked, the compiled form of the package must be included in the link
   command.

OPTIONS

   -Idir
       Specify a directory to use when searching for an import package at
       compile time.

   -Ldir
       When linking, specify a library search directory, as with gcc.

   -fgo-pkgpath=string
       Set the package path to use.  This sets the value returned by the
       PkgPath method of reflect.Type objects.  It is also used for the
       names of globally visible symbols.  The argument to this option
       should normally be the string that will be used to import this
       package after it has been installed; in other words, a pathname
       within the directories specified by the -I option.

   -fgo-prefix=string
       An alternative to -fgo-pkgpath.  The argument will be combined with
       the package name from the source file to produce the package path.
       If -fgo-pkgpath is used, -fgo-prefix will be ignored.

       Go permits a single program to include more than one package with
       the same name in the "package" clause in the source file, though
       obviously the two packages must be imported using different
       pathnames.  In order for this to work with gccgo, either
       -fgo-pkgpath or -fgo-prefix must be specified when compiling a
       package.

       Using either -fgo-pkgpath or -fgo-prefix disables the special
       treatment of the "main" package and permits that package to be
       imported like any other.

   -fgo-relative-import-path=dir
       A relative import is an import that starts with ./ or ../.  If this
       option is used, gccgo will use dir as a prefix for the relative
       import when searching for it.

   -frequire-return-statement
   -fno-require-return-statement
       By default gccgo will warn about functions which have one or more
       return parameters but lack an explicit "return" statement.  This
       warning may be disabled using -fno-require-return-statement.

   -fgo-check-divide-zero
       Add explicit checks for division by zero.  In Go a division (or
       modulos) by zero causes a panic.  On Unix systems this is detected
       in the runtime by catching the "SIGFPE" signal.  Some processors,
       such as PowerPC, do not generate a SIGFPE on division by zero.
       Some runtimes do not generate a signal that can be caught.  On
       those systems, this option may be used.  Or the checks may be
       removed via -fno-go-check-divide-zero.  This option is currently on
       by default, but in the future may be off by default on systems that
       do not require it.

   -fgo-check-divide-overflow
       Add explicit checks for division overflow.  For example, division
       overflow occurs when computing "INT_MIN / -1".  In Go this should
       be wrapped, to produce "INT_MIN".  Some processors, such as x86,
       generate a trap on division overflow.  On those systems, this
       option may be used.  Or the checks may be removed via
       -fno-go-check-divide-overflow.  This option is currently on by
       default, but in the future may be off by default on systems that do
       not require it.

SEE ALSO

   gpl(7), gfdl(7), fsf-funding(7), gcc(1) and the Info entries for gccgo
   and gcc.

COPYRIGHT

   Copyright (c) 2010-2013 Free Software Foundation, Inc.

   Permission is granted to copy, distribute and/or modify this document
   under the terms of the GNU Free Documentation License, Version 1.3 or
   any later version published by the Free Software Foundation; with no
   Invariant Sections, the Front-Cover Texts being (a) (see below), and
   with the Back-Cover Texts being (b) (see below).  A copy of the license
   is included in the man page gfdl(7).

   (a) The FSF's Front-Cover Text is:

        A GNU Manual

   (b) The FSF's Back-Cover Text is:

        You have freedom to copy and modify this GNU Manual, like GNU
        software.  Copies published by the Free Software Foundation raise
        funds for GNU development.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.