www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - COMDAT error

reply Profile Anaysis <PA gotacha.com> writes:
test1.obj : fatal error LNK1179: invalid or corrupt file: 
duplicate COMDAT 
'_D4main4mainFAAyaZ16__T3recVii1TAAiZ3recMFNfAAiZv ( safe void 
main.main(immutable(char)[][]).rec!(1, int[][]).rec(int[][]))'



code


import std.stdio;

import std.traits, std.meta, std.conv, std.string, std.algorithm;

void main(string[] argv)
{

	
	alias mods = AliasSeq!("[]","[1]","[2]","[3]","[4]");

	
	foreach(i, m1; mods)
		foreach(j, m2; mods)
			foreach(k, m3; mods)
			{

				enum s = "int"~m1~m2~m3~" arr;\n";
				//pragma(msg, s);
				mixin(s);				
				
				write(`(`,i,`,`,j,`,`,k,`) | `,(m1~m2~m3).replace("[]", 
"[-]"), ` | T = `, typeof(arr).stringof[3..$].replace(`[]`, 
`[-]`), ` | SA = `, isStaticArray!(typeof(arr)));

				write(" | ");

				// Writes out dimensions
				void rec(int N = 0, T)(T arr)
				{									
					
					auto x = arr[0];
					write(isStaticArray!(typeof(x)), ",");													
					static if (N < 2)
						rec!(N + 1)(x);
				}

				rec(arr);

				writeln();
			}

	


	getchar();	
}
Jan 26 2017
next sibling parent John Colvin <john.loughran.colvin gmail.com> writes:
On Thursday, 26 January 2017 at 11:20:34 UTC, Profile Anaysis 
wrote:
 test1.obj : fatal error LNK1179: invalid or corrupt file: 
 duplicate COMDAT 
 '_D4main4mainFAAyaZ16__T3recVii1TAAiZ3recMFNfAAiZv ( safe void 
 main.main(immutable(char)[][]).rec!(1, int[][]).rec(int[][]))'

 [...]
Thanks for sharing the problem. Bug reports should go in https://issues.dlang.org/
Jan 26 2017
prev sibling parent Jesse Phillips <Jesse.K.Phillips+D gmail.com> writes:
On Thursday, 26 January 2017 at 11:20:34 UTC, Profile Anaysis 
wrote:
 test1.obj : fatal error LNK1179: invalid or corrupt file: 
 duplicate COMDAT 
 '_D4main4mainFAAyaZ16__T3recVii1TAAiZ3recMFNfAAiZv ( safe void 
 main.main(immutable(char)[][]).rec!(1, int[][]).rec(int[][]))'
Not sure but you may have hit this bug: https://issues.dlang.org/show_bug.cgi?id=16687
Jan 26 2017