Thread overview
Optilink bugs(or DMD)
Apr 19, 2017
Nierjerson
Apr 19, 2017
ketmar
Apr 19, 2017
Stefan Koch
Apr 19, 2017
Nierjerson
Apr 19, 2017
Temtaime
April 19, 2017
Major optilink bugs, blocker. Code is long but demonstrates the issue. Compiles with ldc.

The source is large so I uploaded it

https://ufile.io/odaee

or

https://files.fm/u/frmks29t




OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset 481D2H Record Type 00C3
 Error 1: Previous Definition Different : _D4main12cApplication15ForegroundColorMFC4main11cSolidColorZv (void main.cApplication.ForegroundColor(main.cSolidColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset 49058H Record Type 00C3
 Error 1: Previous Definition Different : _D4main12cApplication15BackgroundColorMFC4main11cSolidColorZv (void main.cApplication.BackgroundColor(main.cSolidColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset 89BFFH Record Type 00C3
 Error 1: Previous Definition Different : _D4main9cTextItem5ColorMFC4main11cSolidColorZv (void main.cTextItem.Color(main.cSolidColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset A6CBEH Record Type 00C3
 Error 1: Previous Definition Different : _D4main11cSolidColor3RGBMFC4main9cRGBColorZv (void main.cSolidColor.RGB(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset A7B4BH Record Type 00C3
 Error 1: Previous Definition Different : _D4main11cSolidColor4GrayMFC4main10cGrayColorZv (void main.cSolidColor.Gray(main.cGrayColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset A89C6H Record Type 00C3
 Error 1: Previous Definition Different : _D4main11cSolidColor4CMYKMFC4main10cCMYKColorZv (void main.cSolidColor.CMYK(main.cCMYKColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset A9421H Record Type 00C3
 Error 1: Previous Definition Different : _D4main11cSolidColor3LabMFC4main9cLabColorZv (void main.cSolidColor.Lab(main.cLabColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset AA29FH Record Type 00C3
 Error 1: Previous Definition Different : _D4main11cSolidColor3HSBMFC4main9cHSBColorZv (void main.cSolidColor.HSB(main.cHSBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset E2D37H Record Type 00C3
 Error 1: Previous Definition Different : _D4main8cChannel5ColorMFC4main11cSolidColorZv (void main.cChannel.Color(main.cSolidColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset C1983H Record Type 00C3
 Error 1: Previous Definition Different : _D4main24cExportOptionsSaveForWeb10MatteColorMFC4main9cRGBColorZv (void main.cExportOptionsSaveForWeb.MatteColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset D33B4H Record Type 00C3
 Error 1: Previous Definition Different : _D4main20cPresentationOptions14PDFFileOptionsMFC4main15cPDFSaveOptionsZv (void main.cPresentationOptions.PDFFileOptions(main.cPDFSaveOptions))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset D8777H Record Type 00C3
 Error 1: Previous Definition Different : _D4main15cGalleryOptions13BannerOptionsMFC4main21cGalleryBannerOptionsZv (void main.cGalleryOptions.BannerOptions(main.cGalleryBannerOptions))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset D9617H Record Type 00C3
 Error 1: Previous Definition Different : _D4main15cGalleryOptions13ImagesOptionsMFC4main21cGalleryImagesOptionsZv (void main.cGalleryOptions.ImagesOptions(main.cGalleryImagesOptions))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset DA4C2H Record Type 00C3
 Error 1: Previous Definition Different : _D4main15cGalleryOptions16ThumbnailOptionsMFC4main24cGalleryThumbnailOptionsZv (void main.cGalleryOptions.ThumbnailOptions(main.cGalleryThumbnailOptions))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset DB36FH Record Type 00C3
 Error 1: Previous Definition Different : _D4main15cGalleryOptions18CustomColorOptionsMFC4main26cGalleryCustomColorOptionsZv (void main.cGalleryOptions.CustomColorOptions(main.cGalleryCustomColorOptions))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset DC219H Record Type 00C3
 Error 1: Previous Definition Different : _D4main15cGalleryOptions15SecurityOptionsMFC4main23cGallerySecurityOptionsZv (void main.cGalleryOptions.SecurityOptions(main.cGallerySecurityOptions))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset F078FH Record Type 00C3
 Error 1: Previous Definition Different : _D4main26cGalleryCustomColorOptions15BackgroundColorMFC4main9cRGBColorZv (void main.cGalleryCustomColorOptions.BackgroundColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset F163CH Record Type 00C3
 Error 1: Previous Definition Different : _D4main26cGalleryCustomColorOptions11BannerColorMFC4main9cRGBColorZv (void main.cGalleryCustomColorOptions.BannerColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset F24EAH Record Type 00C3
 Error 1: Previous Definition Different : _D4main26cGalleryCustomColorOptions9TextColorMFC4main9cRGBColorZv (void main.cGalleryCustomColorOptions.TextColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset F2F87H Record Type 00C3
 Error 1: Previous Definition Different : _D4main26cGalleryCustomColorOptions15ActiveLinkColorMFC4main9cRGBColorZv (void main.cGalleryCustomColorOptions.ActiveLinkColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset DD179H Record Type 00C3
 Error 1: Previous Definition Different : _D4main26cGalleryCustomColorOptions9LinkColorMFC4main9cRGBColorZv (void main.cGalleryCustomColorOptions.LinkColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset F4CF2H Record Type 00C3
 Error 1: Previous Definition Different : _D4main26cGalleryCustomColorOptions16VisitedLinkColorMFC4main9cRGBColorZv (void main.cGalleryCustomColorOptions.VisitedLinkColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset F8B4AH Record Type 00C3
 Error 1: Previous Definition Different : _D4main23cGallerySecurityOptions9TextColorMFC4main9cRGBColorZv (void main.cGallerySecurityOptions.TextColor(main.cRGBColor))
Win32\Debug DMD\ConsoleApp1.obj(ConsoleApp1)  Offset 08935H Record Type 00C3
 Error 1: Previous Definition Different : _D4main22cPicturePackageOptions9TextColorMFC4main9cRGBColorZv (void main.cPicturePackageOptions.TextColor(main.cRGBColor))
Error: linker exited with status 24


for x64:

ConsoleApp1.obj : fatal error LNK1179: invalid or corrupt file: duplicate COMDAT '_D4main12cApplication15ForegroundColorMFC4main11cSolidColorZv (void main.cApplication.ForegroundColor(main.cSolidColor))'


This is a blocker because ldc crashes during execution and I can't figure out why. (seems to be an incompatibility with VS 2017) So I cannot do much with all the hard work I've put in to getting the code generated. (which has been twice as long because I had to convert it to runtime code from ctfe since ctfe is broke too)

April 19, 2017
Nierjerson wrote:

> Major optilink bugs, blocker.
not at optlink bug.
April 19, 2017
On Wednesday, 19 April 2017 at 03:52:54 UTC, Nierjerson wrote:
> Major optilink bugs, blocker. Code is long but demonstrates the issue. Compiles with ldc.
>
> [...]

There are two instances of void ForegroundColor(cSolidColor rhs)
April 19, 2017
On Wednesday, 19 April 2017 at 04:25:40 UTC, Stefan Koch wrote:
> On Wednesday, 19 April 2017 at 03:52:54 UTC, Nierjerson wrote:
>> Major optilink bugs, blocker. Code is long but demonstrates the issue. Compiles with ldc.
>>
>> [...]
>
> There are two instances of void ForegroundColor(cSolidColor rhs)

Well, that could be a problem with the code, but it does compile with LDC so LDC then has an issue or dmd/optilink has the issue. Something is wrong. But, I guess removing the duplicates should at least allow dmd to compile the code.

April 19, 2017
On Wednesday, 19 April 2017 at 15:15:21 UTC, Nierjerson wrote:
> On Wednesday, 19 April 2017 at 04:25:40 UTC, Stefan Koch wrote:
>> On Wednesday, 19 April 2017 at 03:52:54 UTC, Nierjerson wrote:
>>> Major optilink bugs, blocker. Code is long but demonstrates the issue. Compiles with ldc.
>>>
>>> [...]
>>
>> There are two instances of void ForegroundColor(cSolidColor rhs)
>
> Well, that could be a problem with the code, but it does compile with LDC so LDC then has an issue or dmd/optilink has the issue. Something is wrong. But, I guess removing the duplicates should at least allow dmd to compile the code.

DMD compiles the code too. The code doesn't link.
Optlink forbids duplicates, but ldc uses msvc link and it allows them(as i remember, it shows a warning).