1.7 -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 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.
Non-ConfidentialPDF file icon PDF versionARM DUI0774E
Copyright © 2014-2016 ARM. All rights reserved.