You copied the Doc URL to your clipboard.

Arm Compiler armclang Reference Guide : -fcommon, -fno-common

-fcommon, -fno-common

Generates common zero-initialized values for tentative definitions.

Tentative definitions are declarations of variables with no storage class and no initializer.

The -fcommon option places the tentative definitions in a common block. This common definition is not associated with any particular section or object, so multiple definitions resolve to a single symbol definition at link time.

The -fno-common option generates individual zero-initialized definitions for tentative definitions. These zero-initialized definitions are placed in a ZI section in the generated object. Multiple definitions of the same symbol in different files can cause a L6200E: Symbol multiply defined linker error, because the individual definitions clash with each other.

Default

The default is -fno-common.

Was this page helpful? Yes No