-
-
Notifications
You must be signed in to change notification settings - Fork 656
Attempt to fix all Macro issues #22022
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: master
Are you sure you want to change the base?
Conversation
|
Thanks for your pull request and interest in making D better, @Emmankoko! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. 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.
|
8ef4b89 to
490f9a5
Compare
|
This is green, is it good to go? |
00b65fd to
97f4eeb
Compare
nope. want to fix most of the macros issues in this PR. so I'm tracking all. |
This could not make the two states of the macro in dlang#20194 workable.
In an attempt to fix
#define identifier identifiernot being resolvable in D,we create D aliases for these macros that refer to identifiers.
including a case check for identifiers actually caused conflicts with most of the inbuilt C compiler macros
because of them define to identifiers and some are actually having no good use
like macros that defines the same name eg. (#define if if) very common in C libs and headers.
since they break D semantics, we do not allow it to break D semantics by just ignoring them
like we have been doing.
For now, I have kept a small table of symbols that easily conflicts but I think we can handle these well to integrate fully
we get to be able import macros that point to identifiers in D whiles not getting interfered by C builtins which
D doesn't know.
more work needs to be done accordingly to win against C macro system fully.
@dkorpel