Frank Heckenbach wrote:
Adriaan van Os wrote:
While trying to build a Mach-O dynamically linked shared library with GPC and LD, I get the following error:
ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option /Developer/Pascal/gpc321d11/lib/gcc-lib/powerpc-apple-darwin6.3/ 3.2.1// libgpc.a(filename.o) definition of common ___set_result_0__ (size 32) /Developer/Pascal/gpc321d11/lib/gcc-lib/powerpc-apple-darwin6.3/ 3.2.1// libgpc.a(filename.o) definition of common ___set_result_1__ (size 32) /Developer/Pascal/gpc321d11/lib/gcc-lib/powerpc-apple-darwin6.3/ 3.2.1// libgpc.a(filename.o) definition of common ___set_result_2__ (size 32) /Developer/Pascal/gpc321d11/lib/gcc-lib/powerpc-apple-darwin6.3/ 3.2.1// libgpc.a(filename.o) definition of common ___set_result_3__ (size 32)
My questions are:
- Is there something special about symbols for sets ?
The special thing is that they're temporary variables that may occur in the values of constants (e.g. `const Foo = [a, b] + [c .. d]'). It would be nicer to avoid it. For `+', merging the set constructors would be easy, but for the other operators, it gets hairier ...
I hope I can fix this problem in the next release.
A quick test revealed that gpc-20030507 fixes it, am I correct ?
Regards,
Adriaan van Os