What is GCC_NO_COMMON_BLOCKS used for?

Lio picture Lio · Jun 27, 2012 · Viewed 17.1k times · Source

I found that my project sets

GCC_NO_COMMON_BLOCKS = NO 

under Apple LLVM Compiler 3.1 - Code Generation settings, as "No Common Blocks"

enter image description here

I would like to know: what is that flag used for?

Thanks a lot

Answer

JustSid picture JustSid · Jun 27, 2012

From Xcode's quick help:

In C, allocate even uninitialized global variables in the data section of the object file, rather than generating them as common blocks. This has the effect that if the same variable is declared (without extern ) in two different compilations, you will get an error when you link them. The only reason this might be useful is if you wish to verify that the program will work on other systems which always work this way.

You can find the quick help in the right pane, under the "Show Quick Help Inspector" tab: Xcode Quick Help Inspector