ClangToTWin builds failing with error: '_ReturnAddress' is not a recognized builtin |
||||
Issue descriptionFrom https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin/builds/9763/steps/compile/logs/stdio C:\b\c\b\ClangToTWin\src\base\profiler\stack_sampling_profiler_unittest.cc(44,19): error: '_ReturnAddress' is not a recognized builtin [-Werror,-Wignored-pragmas] #pragma intrinsic(_ReturnAddress) ^ 1 error generated. Reid, Albert: I'm guessing this might be related to r280825?
,
Sep 7 2016
Oh right, we just ignored this before. But how did the code work?
,
Sep 7 2016
I plan to add all necessary intrinsics soon (I have them implemented, I just need to clean the code and write some unittests), so it won't be a long time - anyway, I guess we can add -Wno-ignored-pragmas or revert the change until I got it done, I'll talk with Reid about it.
,
Sep 7 2016
> Oh right, we just ignored this before. But how did the code work? Oh, I see, the code does include intrin.h, that's how it works. I'll prepare a patch for -Wno-ignored-pragmas
,
Sep 7 2016
Albert: https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin/builds/9766/steps/compile/logs/stdio has a few more intrinsics. To get a full list of intrinsics that warn like this in a chrome build, you can wait for a compiler update with your warning, and then send a try job that removes that warning suppression and that removes -Werror, and then you can grep the compile log of a trybot. (hans or rnk can show you how to do all of this)
,
Sep 7 2016
Thanks, I think I've got all of them (just searching for "#pragma intrinsic" in chromium source code works well, but I've also confirmed that I can compile it without any additional warning suppression).
,
Sep 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/717f854a7c07dc34dd8cdfd56f5ad1731a2b9a39 commit 717f854a7c07dc34dd8cdfd56f5ad1731a2b9a39 Author: Hans Wennborg <hans@chromium.org> Date: Wed Sep 07 22:35:35 2016 Clang Win: turn on -Wno-ignored-pragmas BUG= 644841 R=thakis@chromium.org Review URL: https://codereview.chromium.org/2316343002 . Cr-Commit-Position: refs/heads/master@{#417101} [modify] https://crrev.com/717f854a7c07dc34dd8cdfd56f5ad1731a2b9a39/build/config/compiler/BUILD.gn
,
Sep 20 2016
,
Sep 20 2016
I tried turning this on again after rolling in all the recent intrinsic changes, and things are still broken: https://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/88737/steps/compile%20%28with%20patch%29/logs/stdio I think it's time to move this behind its own flag (-Wunknown-pragma-intrinsic, or something in -Wmicrosoft); and maybe also tweak the diagnostic text to mention that we just might not know about that intrinsic yet. [546/37016] CXX obj/base/base_unittests/stack_sampling_profiler_unittest.obj FAILED: obj/base/base_unittests/stack_sampling_profiler_unittest.obj E:\b\c\cipd\goma/gomacc.exe ../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/base/base_unittests/stack_sampling_profiler_unittest.obj.rsp /c ../../base/profiler/stack_sampling_profiler_unittest.cc /Foobj/base/base_unittests/stack_sampling_profiler_unittest.obj /Fd"obj/base/base_unittests_cc.pdb" E:\b\c\b\win_clang\src\base\profiler\stack_sampling_profiler_unittest.cc(44,19): error: '_ReturnAddress' is not a recognized builtin [-Werror,-Wignored-pragmas] #pragma intrinsic(_ReturnAddress) ^ 1 error generated. (ie fails really early in the build too)
,
Sep 20 2016
OK, I will add -Wunknown-pragma-intrinsic flag and let you know when all the required builtins will be in Clang (I expect it to be at the end of next week).
,
Oct 13 2016
After r284131 of Clang it should work without -Wno-ignored-pragmas, could you check it out?
,
Oct 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/09fa985e68291a078d3bcaeb2d6fc4270cce4d7a commit 09fa985e68291a078d3bcaeb2d6fc4270cce4d7a Author: thakis <thakis@chromium.org> Date: Tue Oct 25 17:19:39 2016 win/clang: Turn on -Wignored-pragmas again clang-cl now implements `#pragma intrinsic` for all commonly used intrinsic, so this warning is no longer emitted. BUG= 644841 Review-Url: https://codereview.chromium.org/2351223002 Cr-Commit-Position: refs/heads/master@{#427388} [modify] https://crrev.com/09fa985e68291a078d3bcaeb2d6fc4270cce4d7a/build/config/compiler/BUILD.gn
,
Oct 25 2016
|
||||
►
Sign in to add a comment |
||||
Comment 1 by thakis@chromium.org
, Sep 7 2016