New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 644841 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug

Blocking:
issue 82385
issue 504657



Sign in to add a comment

ClangToTWin builds failing with error: '_ReturnAddress' is not a recognized builtin

Project Member Reported by h...@chromium.org, Sep 7 2016

Issue description

From 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?
 
Do we just want -Wno-ignored-pragmas for now? (...and for quite a while, probably?)

Comment 2 by h...@chromium.org, Sep 7 2016

Oh right, we just ignored this before. But how did the code work?
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.

Comment 4 by h...@chromium.org, Sep 7 2016

Owner: h...@chromium.org
Status: Started (was: Available)
> 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
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)
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).
Project Member

Comment 7 by bugdroid1@chromium.org, 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

Comment 8 by thakis@chromium.org, Sep 20 2016

Blocking: 504657

Comment 9 by thakis@chromium.org, 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)
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).
After r284131 of Clang it should work without -Wno-ignored-pragmas, could you check it out?
Project Member

Comment 12 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)

Sign in to add a comment