Add CMake/Clang support for the Calculator Engine#211
Add CMake/Clang support for the Calculator Engine#211fwcd wants to merge 68 commits intomicrosoft:masterfrom fwcd:clang
Conversation
|
@janisozaur Looks great, that is definitely a better solution than mine! |
|
This branch now builds successfully both on Windows with |
|
@mcooley -- What would it take to get the pipeline updated as part of this change so that we could have PR/CI validation moving forward to ensure that a change doesn't break this support? |
Agreed, we should have some CI support so we don't break this. We currently have a job per configuration and currently one configuration per architecture--we could have an additional configuration for macOS or Linux. I'll look into this more. |
This is extract from microsoft#211 that enables compilation with GCC. With microsoft#211 now in the state of bitrot, I would rather try approaching it in smaller steps that can be hopefully merged quicker, even if it does not provide full support for all the features microsoft#211 provided. This will _compile_ correctly with my (@janisozaur) GCC, but clang is more picky about flexible array memebers and refuses to compile it yet. I will extract remaining parts of microsoft#211 in future PRs. I marked @fwcd as author, as he did most of the work in microsoft#211.
This is extract from #211 that enables compilation with GCC. With #211 now in the state of bitrot, I would rather try approaching it in smaller steps that can be hopefully merged quicker, even if it does not provide full support for all the features #211 provided. This will _compile_ correctly with my (@janisozaur) GCC, but clang is more picky about flexible array members and refuses to compile it yet. I will extract remaining parts of #211 in future PRs. I marked @fwcd as author, as he did most of the work in #211.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
|
This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. Thank you for your contributions to Windows Calculator! |
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
|
This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. Thank you for your contributions to Windows Calculator! |
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
|
This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. Thank you for your contributions to Windows Calculator! |
|
Given how stale this PR has become, it doesn't look like we'll be able to review and merge this as-is. Thanks for the contribution; we hope that some of these changes can make it in in smaller pieces in the future. |
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes extracted from microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang. @fwcd is the original author of these changes, I (@janisozaur) merely rebased them on top of current master. The rebase was luckily fairly straight-forward, with the only real conflict coming from 7a7ceb5 (microsoft#412), but was trivial to fix.
These are the changes based on microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang.
These are the changes based on microsoft#211 that port number's mantissa from flexible member arrays, a non-standard C++ extension, to std::vector, which enables compilation and linkage with clang.
Fixes #109 .
Description of the changes:
How changes were validated:
Apple LLVM version 10.0.0 (clang-1000.11.45.5)on macOS 10.13.6 High Sierra