Skip to content
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

fixes #19795; fixes #11852; fixes #19974; remove parsing pipeline, Nim now parses the whole module at one time #21379

Merged
merged 27 commits into from
Feb 22, 2023

Conversation

ringabout
Copy link
Member

@ringabout ringabout commented Feb 16, 2023

ref nim-lang/RFCs#503
fixes #19795
fixes #11852
fixes #19974
ref #18822

Implications

  • Top level {.experimental: "codeReordering".} won't work anymore, you must pass it to
    the command line. This is beyond repair with the new parsing strategy.

  • It might affect the trmacros because of limited iterations, which now applies to the whole program.

  • {.overflowChecks: on.} and {.overflowChecks: off.}, which were misused to override settings temporarily, won't work like before anymore. The last overflowChecks setting will decide whether overflow checks will be enabled.

  • It breaks IC navigator tests and I have disabled them as discussed.

@ringabout ringabout marked this pull request as draft February 16, 2023 05:39
@ringabout
Copy link
Member Author

I'm working on this today.

@ringabout ringabout changed the title fixes #19795; remove parse pipeline fixes #19795; fixes #11852; remove parse pipeline, which now parse the whole module at one time Feb 18, 2023
@ringabout ringabout mentioned this pull request Feb 18, 2023
12 tasks
@ringabout ringabout changed the title fixes #19795; fixes #11852; remove parse pipeline, which now parse the whole module at one time fixes #19795; fixes #11852; remove parsing pipeline, which now parse the whole module at one time Feb 19, 2023
@ringabout ringabout changed the title fixes #19795; fixes #11852; remove parsing pipeline, which now parse the whole module at one time fixes #19795; fixes #11852; remove parsing pipeline, Nim now parses the whole module at one time Feb 19, 2023
@ringabout ringabout self-assigned this Feb 20, 2023
@ringabout ringabout marked this pull request as ready for review February 20, 2023 14:38
@ringabout ringabout changed the title fixes #19795; fixes #11852; remove parsing pipeline, Nim now parses the whole module at one time fixes #19795; fixes #11852; fixes #19974; remove parsing pipeline, Nim now parses the whole module at one time Feb 21, 2023
@Varriount Varriount requested a review from Araq February 22, 2023 18:54
@Varriount Varriount added the Requires Araq To Merge PR should only be merged by Araq label Feb 22, 2023
@Araq Araq merged commit 38f876d into devel Feb 22, 2023
@Araq Araq deleted the pr_remove_pipeline2 branch February 22, 2023 19:34
@github-actions
Copy link
Contributor

Thanks for your hard work on this PR!
The lines below are statistics of the Nim compiler built from 38f876d

Hint: mm: orc; opt: speed; options: -d:release
166252 lines; 8.552s; 610.98MiB peakmem

survivorm pushed a commit to survivorm/Nim that referenced this pull request Feb 28, 2023
…ove parsing pipeline, Nim now parses the whole module at one time (nim-lang#21379)

* fixes nim-lang#19795; remove parse pipeline

* isScript

* fixes nimscriptapi

* don't touch reorder

* check script

* fixes tests

* it seems implicit imports of system cause troubles

* access the first child of `nkStmtList`

* ignore comments

* minor messages

* perhaps increases hloLoopDetector

* the module is a stmtList, which changes the errors

* fixes nimdoc

* fixes tlinter

* fixes nim  secret tests

* fixes arc_misc

* fixes nim secret tests again

* safe; fixes one more test

* GlobalError is the root cause too

* fixes parsing errors

* put emit types to the cfsForwardTypes section

* fixes nim-lang#11852; `{.push checks:off}` now works in procs

* disable navigator

* fixes nimdoc

* add tests for JS

* fixes nimsuggest
capocasa pushed a commit to capocasa/Nim that referenced this pull request Mar 31, 2023
…ove parsing pipeline, Nim now parses the whole module at one time (nim-lang#21379)

* fixes nim-lang#19795; remove parse pipeline

* isScript

* fixes nimscriptapi

* don't touch reorder

* check script

* fixes tests

* it seems implicit imports of system cause troubles

* access the first child of `nkStmtList`

* ignore comments

* minor messages

* perhaps increases hloLoopDetector

* the module is a stmtList, which changes the errors

* fixes nimdoc

* fixes tlinter

* fixes nim  secret tests

* fixes arc_misc

* fixes nim secret tests again

* safe; fixes one more test

* GlobalError is the root cause too

* fixes parsing errors

* put emit types to the cfsForwardTypes section

* fixes nim-lang#11852; `{.push checks:off}` now works in procs

* disable navigator

* fixes nimdoc

* add tests for JS

* fixes nimsuggest
bung87 pushed a commit to bung87/Nim that referenced this pull request Jul 29, 2023
…ove parsing pipeline, Nim now parses the whole module at one time (nim-lang#21379)

* fixes nim-lang#19795; remove parse pipeline

* isScript

* fixes nimscriptapi

* don't touch reorder

* check script

* fixes tests

* it seems implicit imports of system cause troubles

* access the first child of `nkStmtList`

* ignore comments

* minor messages

* perhaps increases hloLoopDetector

* the module is a stmtList, which changes the errors

* fixes nimdoc

* fixes tlinter

* fixes nim  secret tests

* fixes arc_misc

* fixes nim secret tests again

* safe; fixes one more test

* GlobalError is the root cause too

* fixes parsing errors

* put emit types to the cfsForwardTypes section

* fixes nim-lang#11852; `{.push checks:off}` now works in procs

* disable navigator

* fixes nimdoc

* add tests for JS

* fixes nimsuggest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Requires Araq To Merge PR should only be merged by Araq
Projects
None yet
3 participants