-
-
Notifications
You must be signed in to change notification settings - Fork 668
Fix #21045 - import __stdin causes compilation to pause while reading from stdin #21047
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
Conversation
|
Thanks for your pull request, @ibuclaw! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.
|
|
@kinke FYI. |
|
@dkorpel FYI. You'll have a hard time convincing me that having |
0998a61 to
b8e1ed1
Compare
…ading from stdin Moves the special handling of reading from stdin out of the semantic routines to the DMD driver itself. All references to `__stdin.d` have also been removed from the frontend implementation.
| // Give unique outfile name | ||
| OutBuffer namebuf; | ||
| namebuf.printf("__stdin_%d", getpid()); |
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.
Not in scope of this PR since it was already there, but what's the point of mangling pid in the output file?
* bump VERSION to v2.110.0 * purge changelog * bump VERSION to v2.111.0-beta.1 * Accept __rvalue attribute on ref functions; which will force the result to be treated as __rvalue. (#20946) This is essential to implement `move`, `forward`, etc. * memoryerror.d: Fix AnySupported version condition (#20983) * Fix #20982 - wrong line number in iasmgcc (#20993) * Move genCfunc to cxxfrontend (#20992) * druntime: Fix compilation of rt.cover on Android (#21015) * Expose SourceLoc to C++ interface (#20980) * [stable] C++ header fixes for declaration, expression, and typinf (#21016) Seen either from compilation errors or missing symbols at link time. * C++ headers: Add 3 Declaration bitfield setters/getters required by LDC * druntime: Add module declaration to rt.invariant, to prevent conflicts with user-provided invariant.d (#21017) * Fix #21020 - Indexing a *cast* AA yields no lvalue anymore (#21029) * Add C++23 to CppStdRevision enum (#21043) * Improve UFCS/property error message (#21046) * bump VERSION to v2.111.0-rc.1 * Fix #21045 - import __stdin causes compilation to pause while reading from stdin (#21047) Moves the special handling of reading from stdin out of the semantic routines to the DMD driver itself. All references to `__stdin.d` have also been removed from the frontend implementation. * Update source code and coverage links (#21111) * Fix #21024 - Optimize x^^c expressions (#21082) * Fix #21024 - Optimize x^^c expressions Reason for the *magic* constraint c<8 on inlining x^^c: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/fpu/e_powl.S;h=47f129f34d368d7c67b8e5f2462b36b0bebb7621;hb=HEAD#l136 * Fix poor assumption about expression state * Restrict optimization to floating point expressions * Generalize optimization to any scalar data type * Fix segfault on x^^c where x is a single member anonymous enum DMD segfaulted on compiling the unittests in std/algorithm/sorting.o, the unittest that caused the segfault can be reduced to: enum real Two = 2.0; auto _ = Two^^3; I'm not sure why copying the anonymous enum into a `const` variable causes the compiler to segfault. * Add tests to x^^c inlining optimization * Fix missing type for e1 ^^ -1 to 1 / e1 rewrite * Move rewrites from constant folding to expression semantic and restrict them to [-1, 2] * Improve error message for the x^^2 rewrite. Before: ex.d(4): Error: can implicitly convert expression `(const const(double) __powtmp2 = x + 5.0;) , __powtmp2 * ...` of type `double` to `int` int y = ( x + 5 ) ^^ 2; ^ and after: ex.d(4): Error: cannot implicitly convert expression `(x + 5.0) ^^ 2L` of type `double` to `int` int y = ( x + 5 ) ^^ 2; ^ * Update C++ frontend header to match change in `CommaExp` * Address code review feedback Co-authored-by: Dennis Korpel <dkorpel@gmail.com> --------- Co-authored-by: Dennis Korpel <dkorpel@gmail.com> * Revert "Fix #21024 - Optimize x^^c expressions (#21082)" (#21114) This reverts commit fa1f860. * bump VERSION to v2.111.0 * purge changelog * Strip trailing newline off sarif version --------- Co-authored-by: Manu Evans <turkeyman@gmail.com> Co-authored-by: Martin Kinkelin <kinke@users.noreply.github.com> Co-authored-by: Iain Buclaw <ibuclaw@gdcproject.org> Co-authored-by: Martin Kinkelin <noone@nowhere.com> Co-authored-by: Fares A. Bakhit <faresa.bakhit@gmail.com>
Moves the special handling of reading from stdin out of the semantic routines to the DMD driver itself. All references to
__stdin.dhave also been removed from the frontend implementation.