-
Notifications
You must be signed in to change notification settings - Fork 49
Replace compat features with breaking changes #403
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 8 commits
50ce40a
d3b430a
ab05321
89b6926
0f5e4a3
97788dc
d1453fd
6b71e20
d8f7bb6
2c0f959
0e3e906
23d8793
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -198,19 +198,7 @@ class suppress_WLOGMIXUP(CompatFeature): | |
| [Messages](messages.html) section. | ||
|
|
||
| `WLOGMIXUP` is suppressed by default below Simics API version 7 in order | ||
| to avoid overwhelming users with warnings, as the faulty pattern that | ||
| `WLOGMIXUP` reports is very prevalent within existing code. Addressing | ||
| applications of the faulty pattern should be done before or as part of | ||
| migration to Simics API version 7. | ||
|
|
||
| Passing `--no-compat=suppress_WLOGMIXUP` to DMLC has almost the same effect | ||
| as passing `--warn=WLOGMIXUP`; either will cause DMLC to report the warning | ||
| even when the Simics API version in use is below 7. The only difference | ||
| between these two options is that if `--no-compat=suppress_WLOGMIXUP` is | ||
| used (and `--warn=WLOGMIXUP` is not), then `WLOGMIXUP` may still be | ||
| explicitly suppressed via `--no-warn=WLOGMIXUP`. In contrast, | ||
| `--warn=WLOGMIXUP` doesn't allow for `WLOGMIXUP` to be suppressed at | ||
| all.''' | ||
|
Comment on lines
206
to
213
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Removed this because it's a lot of text and I don't understand why a user needs it. If they get the warning somewhere, then they will fix it. If that's impossible somewhere (which is unlikely), then they can use --no-warn as usual, no need to remind them. |
||
| to avoid overwhelming users with warnings.''' | ||
| short = "Suppress the warning 'WLOGMIXUP' by default" | ||
| last_api_version = api_6 | ||
|
|
||
|
|
@@ -263,9 +251,8 @@ class no_method_index_asserts(CompatFeature): | |
|
|
||
| Migrating away from this compatibility feature should be a priority. If | ||
| its disablement makes the simulation crash due to an assertion failing, | ||
| then that **definitely signifies a bug in your model; a bug that would | ||
| very likely result in memory corruption if the assertion were not to | ||
| be made.**''' | ||
| then that signifies a bug in your model that could | ||
| lead to memory corruption without the range check.''' | ||
|
||
| short = ("Disable assertions made by methods of object arrays that the " | ||
| + "the object array indices are valid. Migrate away from this " | ||
| + "ASAP!") | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,8 @@ dml 1.4; | |
|
|
||
| device test; | ||
|
|
||
| /// API-VERSION 7 | ||
|
|
||
| /// ERROR ETYPE | ||
| extern uinteger_t undef_uval; | ||
| /// ERROR ETYPE | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| /* | ||
| © 2025 Intel Corporation | ||
| SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| // 1.2 because some compat features are auto-disabled in DML 1.4 | ||
| dml 1.2; | ||
|
|
||
| device test; | ||
|
|
||
| /// COMPILE-ONLY | ||
| /// API-VERSION 5 | ||
| /// DMLC-FLAG --no-compat=dml12_not,dml12_misc | ||
|
|
||
| import "no_compat.dml"; | ||
|
|
||
| parameter enabled_5a = false; | ||
| parameter enabled_5b = true; | ||
| parameter enabled_6a = true; | ||
| parameter enabled_6b = true; | ||
| parameter enabled_7a = true; | ||
| parameter enabled_7b = true; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| /* | ||
| © 2025 Intel Corporation | ||
| SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| // 1.2 because some compat features are auto-disabled in DML 1.4 | ||
| dml 1.2; | ||
|
|
||
| device test; | ||
|
|
||
| /// COMPILE-ONLY | ||
| /// API-VERSION 5 | ||
| /// DMLC-FLAG --no-compat=port_obj_param,dml12_inline | ||
|
|
||
| import "no_compat.dml"; | ||
|
|
||
| parameter enabled_5a = true; | ||
| parameter enabled_5b = false; | ||
| parameter enabled_6a = true; | ||
| parameter enabled_6b = true; | ||
| parameter enabled_7a = true; | ||
| parameter enabled_7b = true; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| /* | ||
| © 2025 Intel Corporation | ||
| SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| dml 1.4; | ||
|
|
||
| device test; | ||
|
|
||
| /// COMPILE-ONLY | ||
| /// API-VERSION 6 | ||
| /// DMLC-FLAG --no-compat=dml12_int,dml12_goto,io_memory | ||
|
|
||
| import "no_compat.dml"; | ||
|
|
||
| param enabled_5a = false; | ||
| param enabled_5b = false; | ||
| param enabled_6a = false; | ||
| param enabled_6b = true; | ||
| param enabled_7a = true; | ||
| param enabled_7b = true; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| /* | ||
| © 2025 Intel Corporation | ||
| SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| dml 1.4; | ||
|
|
||
| device test; | ||
|
|
||
| /// COMPILE-ONLY | ||
| /// API-VERSION 6 | ||
| /// DMLC-FLAG --no-compat=shared_logs_on_device,suppress_WLOGMIXUP | ||
|
|
||
| import "no_compat.dml"; | ||
|
|
||
| param enabled_5a = false; | ||
| param enabled_5b = false; | ||
| param enabled_6a = true; | ||
| param enabled_6b = false; | ||
| param enabled_7a = true; | ||
| param enabled_7b = true; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| /* | ||
| © 2025 Intel Corporation | ||
| SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| dml 1.4; | ||
|
|
||
| device test; | ||
|
|
||
| /// COMPILE-ONLY | ||
| /// API-VERSION 7 | ||
| /// DMLC-FLAG --no-compat=broken_conditional_is,broken_unused_types,no_method_index_asserts,warning_statement,lenient_typechecking,port_proxy_ifaces | ||
|
|
||
| import "no_compat.dml"; | ||
|
|
||
| param enabled_5a = false; | ||
| param enabled_5b = false; | ||
| param enabled_6a = false; | ||
| param enabled_6b = false; | ||
| param enabled_7a = false; | ||
| param enabled_7b = true; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| /* | ||
| © 2025 Intel Corporation | ||
| SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| dml 1.4; | ||
|
|
||
| device test; | ||
|
|
||
| /// COMPILE-ONLY | ||
| /// API-VERSION 7 | ||
| /// DMLC-FLAG --no-compat=function_in_extern_struct,port_proxy_attrs,meaningless_log_levels,optional_version_statement,experimental_vect,legacy_attributes | ||
|
|
||
| import "no_compat.dml"; | ||
|
|
||
| param enabled_5a = false; | ||
| param enabled_5b = false; | ||
| param enabled_6a = false; | ||
| param enabled_6b = false; | ||
| param enabled_7a = true; | ||
| param enabled_7b = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed some text that felt redundant. It follows from how breaking changes work that WLOGMIXUP will be enabled during migration to API 7, and it follows from the previous mention of "overwhelming" that you want to fix those violations if you care about not getting overwhelmed.