-
-
Notifications
You must be signed in to change notification settings - Fork 260
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
Upgrade frontend & libs to pre-DMD-monorepo state #4141
Conversation
Apologies for the merge conflict, I've got a couple of changes I need to make to druntime, namely making the intrinsic names for pointers not include the type for LLVM 15 (well technically opaque pointers, which in theory we could enable for LLVM14 or disable for 15) e.g. -pragma(LDC_intrinsic, "llvm.memcpy.p0i8.p0i8.i#")
+pragma(LDC_intrinsic, LLVM_version >= 1500 ? "llvm.memcpy.p0.p0.i#" : "llvm.memcpy.p0i8.p0i8.i#")
void llvm_memcpy(T)(void* dst, const(void)* src, T len, bool volatile_ = false)
if (__traits(isIntegral, T)); ditto for |
Using its `foreachVar()` method to visit the nested vars, as done in the DMD glue layer.
Conflicts: gen/toir.cpp runtime/druntime
The undefined |
This matters for MSVC, which doesn't ignore the outer `const` for mangling.
…ring length Fixes dmd-testsuite's compilable/test23066.c.
Conflicts: runtime/druntime
…members Fixes assertions hit by dmd-testsuite's runnable/{test23010,variadic}.d, caused by a different tuples handling in the frontend.
@@ -31,7 +31,7 @@ void func() | |||
int[] quux; | |||
//CHECK: dcompute.d([[@LINE+1]]): Error: can only call functions from other `@compute` modules in `@compute` code | |||
quux.length = 1; | |||
//CHECK: dcompute.d([[@LINE+1]]): Error: cannot use operator `~=` in `@compute` code | |||
//CHECK: dcompute.d([[@LINE+1]]): Error: can only call functions from other `@compute` modules in `@compute` code |
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.
this looks like a regression to me. @thewilsonator can you help here to keep the better old error message?
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.
These are caused by new frontend lowerings (the templated druntime 'hooks').
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.
Perhaps we can hardcode the recognition of names of the hooks, and give a bit nicer feedback to the user. It will not be easy to understand that ~=
leads to a "call to a function from another non-@compute
module".
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.
I'm fine with making an open issue for it, shouldn't block the monorepo work.
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.
Okay: #4272
No description provided.