# fcommon

Determines whether the compiler treats common symbols as global definitions. This feature is only available for ifort.

## Syntax

Linux: | -fcommon -fno-common

macOS: | -fcommon -fno-common

Windows: | None

## Arguments

None

## Default

-fcommon | The compiler does not treat common symbols as global definitions.

## Description

This option determines whether the compiler treats common symbols as global definitions and to allocate memory for each symbol at compile time.

Option -fno-common tells the compiler to treat common symbols as global definitions. When using this option, you can only have a common variable declared in one module; otherwise, a link time error will occur for multiple defined symbols.

On macOS, if a library built with the ar utility contains objects with Fortran module data but no executable functions, the symbols corresponding to the module data may not be resolved when an object referencing them is linked against the library. You can work around this by compiling with option -fno-common.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Data Options