D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 15962 - [REG2.069] Don't strip off asserts to check internal compiler errors
Summary: [REG2.069] Don't strip off asserts to check internal compiler errors
Status: RESOLVED DUPLICATE of issue 20457
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All All
: P1 regression
Assignee: No Owner
URL:
Keywords: ice, pull
Depends on:
Blocks:
 
Reported: 2016-04-27 12:44 UTC by Kenji Hara
Modified: 2020-03-21 03:56 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Kenji Hara 2016-04-27 12:44:06 UTC
From 2.069, dmd code base is switched to D. But today, a released dmd is compiled with -release switch. It means, the built dmd binary no longer contain any asserts.

By that, all internal errors in front end no longer reported. Actually it would hide some serious regressions.

See issue 15961 as a real example.
Comment 1 Kenji Hara 2016-04-27 12:51:47 UTC
https://github.com/dlang/dmd/pull/5716
Comment 2 basile-z 2019-03-25 13:25:02 UTC
Can someone confirm that this is not true anymore ?
Comment 3 Walter Bright 2019-12-17 10:14:09 UTC
It's still true.
Comment 4 basile-z 2019-12-18 10:15:46 UTC
I've noticed a couple of times in the past months that some cases of "accept-invalid" bug reports were actually leading to ICE (due to assert) when tested with the debug built.

Maybe that really important `assert()` should be turned into ICE using a dedicated function which would itself call `fatal()`. This looks easy at first glance but what would have to be refactored or not is something that should be verified, otherwise it's the same as to stop using "-release" for official binaries.
Comment 5 basile-z 2019-12-19 12:30:43 UTC

*** This issue has been marked as a duplicate of issue 20457 ***