Closed
Bug 1407289
Opened 7 years ago
Closed 7 years ago
Perma mingw32 /builds/worker/workspace/build/src/gfx/angle/src/common/platform.h:64:21: fatal error: d3d11_3.h: No such file or directory
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox58 fixed)
RESOLVED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox58 | --- | fixed |
People
(Reporter: aryx, Assigned: tjr)
References
Details
(Keywords: intermittent-failure, Whiteboard: [stockwell fixed:product])
Attachments
(2 files)
See https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=e1b5e17e59733b9572704ed9fc3d06be43ccb8bb&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=usercancel&filter-resultStatus=runnable&filter-resultStatus=exception&filter-resultStatus=retry (original push was busted by a previous push).
Build log: https://treeherder.mozilla.org/logviewer.html#?job_id=135939105&repo=mozilla-inbound
[task 2017-10-10T13:54:41.078Z] 13:54:41 INFO - In file included from /builds/worker/workspace/build/src/gfx/angle/src/common/angleutils.h:12:0,
[task 2017-10-10T13:54:41.079Z] 13:54:41 INFO - from /builds/worker/workspace/build/src/gfx/angle/src/compiler/preprocessor/Tokenizer.h:10,
[task 2017-10-10T13:54:41.079Z] 13:54:41 INFO - from ./Tokenizer.l:917:
[task 2017-10-10T13:54:41.080Z] 13:54:41 INFO - /builds/worker/workspace/build/src/gfx/angle/src/common/platform.h:64:21: fatal error: d3d11_3.h: No such file or directory
[task 2017-10-10T13:54:41.080Z] 13:54:41 INFO - #include <d3d11_3.h>
[task 2017-10-10T13:54:41.080Z] 13:54:41 INFO - ^
[task 2017-10-10T13:54:41.080Z] 13:54:41 INFO - compilation terminated.
Flags: needinfo?(tom)
Reporter | ||
Updated•7 years ago
|
Summary: Windows mingw32 builds broken after Bug 1371190 - Update ANGLE to chromium/3229 landed → Perma mingw32 /builds/worker/workspace/build/src/gfx/angle/src/common/platform.h:64:21: fatal error: d3d11_3.h: No such file or directory
Assignee | ||
Comment 1•7 years ago
|
||
MinGW is behind on the headers, but their upstream (Wine) has recently imported them so hopefully they should come down soon. I will fiddle a little with a local patch.
Flags: needinfo?(tom)
Comment hidden (Intermittent Failures Robot) |
Comment hidden (mozreview-request) |
Reporter | ||
Comment 4•7 years ago
|
||
This build is failing on every push. Can you get it into the tree today or disable those temporarily, please?
Flags: needinfo?(tom)
Assignee | ||
Comment 5•7 years ago
|
||
(In reply to Sebastian Hengst [:aryx][:archaeopteryx] (needinfo on intermittent or backout) from comment #4)
> This build is failing on every push. Can you get it into the tree today or
> disable those temporarily, please?
Yes, I've resolved the MinGW issue (with Jacek's help), but there are additional build failures inside Angle. However, it might be easy so I just fired off a try run to see if that resolves everything.
Angle Failure: https://treeherder.mozilla.org/#/jobs?repo=try&revision=24aa6cf4235e9710c380aca2ff5faace51bfc972&selectedJob=136206739
Attempt to fix: https://treeherder.mozilla.org/#/jobs?repo=try&revision=de98b8de4ef60ce7d6a92e435464db499dabb12c
Flags: needinfo?(tom)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 8•7 years ago
|
||
Angle Errors:
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:21:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:29:13: error: 'BlendStateKey' is not a member of 'rx::d3d11'
> struct hash<rx::d3d11::BlendStateKey>
> ^~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:29:13: error: 'BlendStateKey' is not a member of 'rx::d3d11'
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:29:37: error: template argument 1 is invalid
> struct hash<rx::d3d11::BlendStateKey>
> ^
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:38:13: error: 'RasterizerStateKey' is not a member of 'rx::d3d11'
> struct hash<rx::d3d11::RasterizerStateKey>
> ^~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:38:13: error: 'RasterizerStateKey' is not a member of 'rx::d3d11'
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:38:42: error: template argument 1 is invalid
> struct hash<rx::d3d11::RasterizerStateKey>
> ^
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:74:19: error: 'BlendStateKey' in namespace 'rx::d3d11' does not name a type
> static d3d11::BlendStateKey GetBlendStateKey(const gl::Context *context,
> ^~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:78:42: error: 'BlendStateKey' in namespace 'rx::d3d11' does not name a type
> const d3d11::BlendStateKey &key,
> ^~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:103:56: error: 'BlendStateKey' is not a member of 'rx::d3d11'
> using BlendStateMap = angle::base::HashingMRUCache<d3d11::BlendStateKey, d3d11::BlendState>;
> ^~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:103:56: error: 'BlendStateKey' is not a member of 'rx::d3d11'
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:103:95: error: template argument 1 is invalid
> using BlendStateMap = angle::base::HashingMRUCache<d3d11::BlendStateKey, d3d11::BlendState>;
> ^
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:103:95: error: template argument 3 is invalid
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:104:5: error: 'BlendStateMap' does not name a type
> BlendStateMap mBlendStateCache;
> ^~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:108:38: error: 'RasterizerStateKey' is not a member of 'rx::d3d11'
> angle::base::HashingMRUCache<d3d11::RasterizerStateKey, d3d11::RasterizerState>;
> ^~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:108:38: error: 'RasterizerStateKey' is not a member of 'rx::d3d11'
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:108:87: error: template argument 1 is invalid
> angle::base::HashingMRUCache<d3d11::RasterizerStateKey, d3d11::RasterizerState>;
> ^
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:108:87: error: template argument 3 is invalid
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h:109:5: error: 'RasterizerStateMap' does not name a type
> RasterizerStateMap mRasterizerStateCache;
> ^~~~~~~~~~~~~~~~~~
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:311:42: error: 'BlendStateKey' in namespace 'rx::d3d11' does not name a type
> gl::Error getBlendState(const d3d11::BlendStateKey &key,
> ^~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:416:74: error: 'Format' in namespace 'rx::d3d11' does not name a type
> const d3d11::Format &formatSet,
> ^~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:418:61: error: 'StagingAccess' has not been declared
> StagingAccess readAndWriteAccess);
> ^~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:440:44: error: 'Format' in namespace 'rx::d3d11' does not name a type
> const d3d11::Format &format,
> ^~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:447:44: error: 'Format' in namespace 'rx::d3d11' does not name a type
> const d3d11::Format &format,
> ^~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:452:44: error: 'Format' in namespace 'rx::d3d11' does not name a type
> const d3d11::Format &format,
> ^~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:509:12: error: 'ANGLED3D11DeviceType' in namespace 'rx::d3d11' does not name a type
> d3d11::ANGLED3D11DeviceType getDeviceType() const;
> ^~~~~~~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:569:21: error: field 'mCachedResolveTexture' has incomplete type 'rx::TextureHelper11'
> TextureHelper11 mCachedResolveTexture;
> ^~~~~~~~~~~~~~~~~~~~~
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:14:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.h:39:7: note: forward declaration of 'class rx::TextureHelper11'
> class TextureHelper11;
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp: In member function 'EGLint rx::SwapChain11::resetOffscreenColorBuffer(const gl::Context*, int, int)':
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:260:70: error: no matching function for call to 'rx::Renderer11::allocateTexture(D3D11_TEXTURE2D_DESC&, const rx::d3d11::Format&, rx::TextureHelper11*)'
> &mOffscreenTexture);
> ^
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:439:15: note: candidate: template<class DescT> gl::Error rx::Renderer11::allocateTexture(const DescT&, const int&, rx::TextureHelper11*)
> gl::Error allocateTexture(const DescT &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:439:15: note: template argument deduction/substitution failed:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:259:74: note: cannot convert 'backbufferFormatInfo' (type 'const rx::d3d11::Format') to type 'const int&'
> gl::Error err = mRenderer->allocateTexture(offscreenTextureDesc, backbufferFormatInfo,
> ^~~~~~~~~~~~~~~~~~~~
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:446:15: note: candidate: gl::Error rx::Renderer11::allocateTexture(const D3D11_TEXTURE2D_DESC&, const int&, const D3D11_SUBRESOURCE_DATA*, rx::TextureHelper11*)
> gl::Error allocateTexture(const D3D11_TEXTURE2D_DESC &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:446:15: note: candidate expects 4 arguments, 3 provided
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:451:15: note: candidate: gl::Error rx::Renderer11::allocateTexture(const D3D11_TEXTURE3D_DESC&, const int&, const D3D11_SUBRESOURCE_DATA*, rx::TextureHelper11*)
> gl::Error allocateTexture(const D3D11_TEXTURE3D_DESC &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:451:15: note: candidate expects 4 arguments, 3 provided
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp: In member function 'EGLint rx::SwapChain11::resetOffscreenDepthBuffer(int, int)':
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:401:73: error: no matching function for call to 'rx::Renderer11::allocateTexture(D3D11_TEXTURE2D_DESC&, const rx::d3d11::Format&, rx::TextureHelper11*)'
> &mDepthStencilTexture);
> ^
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:439:15: note: candidate: template<class DescT> gl::Error rx::Renderer11::allocateTexture(const DescT&, const int&, rx::TextureHelper11*)
> gl::Error allocateTexture(const DescT &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:439:15: note: template argument deduction/substitution failed:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:400:77: note: cannot convert 'depthBufferFormatInfo' (type 'const rx::d3d11::Format') to type 'const int&'
> gl::Error err = mRenderer->allocateTexture(depthStencilTextureDesc, depthBufferFormatInfo,
> ^~~~~~~~~~~~~~~~~~~~~
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:446:15: note: candidate: gl::Error rx::Renderer11::allocateTexture(const D3D11_TEXTURE2D_DESC&, const int&, const D3D11_SUBRESOURCE_DATA*, rx::TextureHelper11*)
> gl::Error allocateTexture(const D3D11_TEXTURE2D_DESC &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:446:15: note: candidate expects 4 arguments, 3 provided
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:451:15: note: candidate: gl::Error rx::Renderer11::allocateTexture(const D3D11_TEXTURE3D_DESC&, const int&, const D3D11_SUBRESOURCE_DATA*, rx::TextureHelper11*)
> gl::Error allocateTexture(const D3D11_TEXTURE3D_DESC &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:451:15: note: candidate expects 4 arguments, 3 provided
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp: In member function 'const SharedSRV& rx::SwapChain11::getRenderTargetShaderResource()':
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:960:80: error: no matching function for call to 'rx::Renderer11::allocateTexture(D3D11_TEXTURE2D_DESC&, const rx::d3d11::Format&, rx::TextureHelper11*)'
> &mOffscreenTextureCopyForSRV);
> ^
> In file included from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h:22:0,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h:15,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h:14,
> from /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:9:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:439:15: note: candidate: template<class DescT> gl::Error rx::Renderer11::allocateTexture(const DescT&, const int&, rx::TextureHelper11*)
> gl::Error allocateTexture(const DescT &desc,
> ^~~~~~~~~~~~~~~
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h:439:15: note: template argument deduction/substitution failed:
> /builds/worker/workspace/build/src/gfx/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp:959:71: note: cannot convert 'backbufferFormatInfo' (type 'const rx::d3d11::Format') to type 'const int&'
> gl::Error err = mRenderer->allocateTexture(offscreenCopyDesc, backbufferFormatInfo,
> ^~~~~~~~~~~~~~~~~~~~>
Right now it's not clear to me what's wrong; I looked at the first one, BlendStateKey, and it seems to be fine...
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 12•7 years ago
|
||
Okay I figured it out, and I *think* that this try run (and the attached squashed patch) should succeed, barring yet-more template misunderstandings on my part:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=27636f6740668a21cb41015a82baba94e784e0fb
Assignee | ||
Updated•7 years ago
|
Attachment #8917223 -
Flags: review?(nfroyd)
Comment hidden (mozreview-request) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•7 years ago
|
Attachment #8917433 -
Flags: review?(cleu)
Assignee | ||
Updated•7 years ago
|
Attachment #8917433 -
Flags: review?(jgilbert)
Comment 16•7 years ago
|
||
mozreview-review |
Comment on attachment 8917433 [details]
Bug 1407289 Move classes from renderer11_utils.h
https://reviewboard.mozilla.org/r/188418/#review193862
LGTM
Attachment #8917433 -
Flags: review?(cleu) → review+
Assignee | ||
Comment 17•7 years ago
|
||
Okay, I tried to be explicit in the commit message but this was a doosey.
First: The initial build break was because MinGW lacked some newish headers. We bump the MinGW version to pick those up, thanks to Jacek getting them in a few hours after this turning up.
But that break masked a tougher problem: some of the Angle code is not legal by spec. They forward declare a class, but then call a method on it as shown on the broken build here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=0b5d11b521d5f10253a45e4ae2fe90105a444f9b&selectedJob=136246167 . That's a no-no. BUT MSVC allows it because they have a weird two-phase compiler thing going on: https://stackoverflow.com/questions/30992044/msvc-allows-use-of-incomplete-undeclared-types-inside-of-template-class-method-b https://stackoverflow.com/questions/37599877/why-an-incomplete-type-is-detected-in-clang-inside-a-template-method
Clang, to get msvc compatibility, had to add this: https://clang.llvm.org/docs/MSVCCompatibility.html#template-instantiation-and-name-lookup
Anyway, after trying several different things, eventually the solution that worked was relocating the declarations into a new file after the class they had forward declared. I'm going to try and get this change upstreamed.
Assignee | ||
Comment 18•7 years ago
|
||
Assignee | ||
Comment 19•7 years ago
|
||
Comment 20•7 years ago
|
||
mozreview-review |
Comment on attachment 8917223 [details]
Bug 1407289 Bump MinGW commit
https://reviewboard.mozilla.org/r/188246/#review194098
rs=me
Attachment #8917223 -
Flags: review?(nfroyd) → review+
Comment 21•7 years ago
|
||
(In reply to Tom Ritter [:tjr] (PTO 10/12-1016) from comment #17)
> But that break masked a tougher problem: some of the Angle code is not legal
> by spec. They forward declare a class, but then call a method on it as shown
> on the broken build here:
> https://treeherder.mozilla.org/#/
> jobs?repo=try&revision=0b5d11b521d5f10253a45e4ae2fe90105a444f9b&selectedJob=1
> 36246167 . That's a no-no. BUT MSVC allows it because they have a weird
> two-phase compiler thing going on:
> https://stackoverflow.com/questions/30992044/msvc-allows-use-of-incomplete-
> undeclared-types-inside-of-template-class-method-b
> https://stackoverflow.com/questions/37599877/why-an-incomplete-type-is-
> detected-in-clang-inside-a-template-method
>
> Clang, to get msvc compatibility, had to add this:
> https://clang.llvm.org/docs/MSVCCompatibility.html#template-instantiation-
> and-name-lookup
>
> Anyway, after trying several different things, eventually the solution that
> worked was relocating the declarations into a new file after the class they
> had forward declared. I'm going to try and get this change upstreamed.
Aha! I thought that might be what's going on. The header by itself is naively invalid, but without reading up on template instantiation rules, I figured it must somehow be delayed later than I expected.
Thanks for solving this riddle!
Comment 22•7 years ago
|
||
mozreview-review |
Comment on attachment 8917433 [details]
Bug 1407289 Move classes from renderer11_utils.h
https://reviewboard.mozilla.org/r/188418/#review194238
This works for me!
Attachment #8917433 -
Flags: review?(jgilbert) → review+
Comment 23•7 years ago
|
||
Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/692787b51f8e
Bump MinGW commit r=froydnj
https://hg.mozilla.org/integration/autoland/rev/2d61af51e1a5
Move classes from renderer11_utils.h r=jgilbert,Lenzak
Reporter | ||
Comment 24•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/692787b51f8e
https://hg.mozilla.org/mozilla-central/rev/2d61af51e1a5
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox58:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Comment hidden (Intermittent Failures Robot) |
Updated•7 years ago
|
Whiteboard: [stockwell fixed:product]
Updated•7 years ago
|
Keywords: intermittent-failure
Updated•7 years ago
|
Assignee: nobody → tom
Comment hidden (Intermittent Failures Robot) |
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•