Skip to content

[onnx-optimizer] Fix compiler error in fuse_add_bias_into_conv.h#48445

Merged
vicroms merged 2 commits intomicrosoft:masterfrom
luncliff:port/onnx-optimizer
Nov 24, 2025
Merged

[onnx-optimizer] Fix compiler error in fuse_add_bias_into_conv.h#48445
vicroms merged 2 commits intomicrosoft:masterfrom
luncliff:port/onnx-optimizer

Conversation

@luncliff
Copy link
Copy Markdown
Contributor

@luncliff luncliff commented Nov 23, 2025

Referenced the following PR.

= {1} expression was causing compile error.

diff --git a/onnxoptimizer/passes/fuse_add_bias_into_conv.h b/onnxoptimizer/passes/fuse_add_bias_into_conv.h
index b4696b5..dea0369 100644
--- a/onnxoptimizer/passes/fuse_add_bias_into_conv.h
+++ b/onnxoptimizer/passes/fuse_add_bias_into_conv.h
@@ -134,7 +134,7 @@ struct FuseAddBiasIntoConv final : public PredicateBasedPass {
         t.elem_type() = TensorProto_DataType_INT64;
         Symbol sym = Symbol("value");
         constant->t_(sym, t);
-        std::vector<Dimension> s = {1};
+        std::vector<Dimension> s{Dimension{1}};
         constant->output()->setSizes(s);
         constant->output()->setElemType(TensorProto_DataType_INT64);
         constant->insertBefore(orig_conv->node());

The error is from

FAILED: [code=1] CMakeFiles/onnx_optimizer_c_api.dir/onnxoptimizer/c_api/onnxoptimizer_c_api.cc.o 
/usr/bin/c++ -DONNX_ML=1 -DONNX_NAMESPACE=onnx -I/Users/vcpkg/Data/b/onnx-optimizer/src/v0.3.19-d016ab96f4.clean -isystem /Users/vcpkg/Data/installed/arm64-osx/include -fPIC -g -std=gnu++17 -arch arm64 -mmacosx-version-min=10.15 -fPIC -MD -MT CMakeFiles/onnx_optimizer_c_api.dir/onnxoptimizer/c_api/onnxoptimizer_c_api.cc.o -MF CMakeFiles/onnx_optimizer_c_api.dir/onnxoptimizer/c_api/onnxoptimizer_c_api.cc.o.d -o CMakeFiles/onnx_optimizer_c_api.dir/onnxoptimizer/c_api/onnxoptimizer_c_api.cc.o -c /Users/vcpkg/Data/b/onnx-optimizer/src/v0.3.19-d016ab96f4.clean/onnxoptimizer/c_api/onnxoptimizer_c_api.cc
In file included from /Users/vcpkg/Data/b/onnx-optimizer/src/v0.3.19-d016ab96f4.clean/onnxoptimizer/c_api/onnxoptimizer_c_api.cc:8:
In file included from /Users/vcpkg/Data/b/onnx-optimizer/src/v0.3.19-d016ab96f4.clean/onnxoptimizer/optimize.h:15:
In file included from /Users/vcpkg/Data/b/onnx-optimizer/src/v0.3.19-d016ab96f4.clean/onnxoptimizer/pass_registry.h:38:
/Users/vcpkg/Data/b/onnx-optimizer/src/v0.3.19-d016ab96f4.clean/onnxoptimizer/passes/fuse_add_bias_into_conv.h:137:32: error: chosen constructor is explicit in copy-initialization
  137 |         std::vector<Dimension> s = {1};
      |                                ^   ~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__vector/vector.h:144:64: note: explicit constructor declared here
  144 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI explicit vector(size_type __n) {
      |                                                                ^
1 error generated.
[2/13] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe   /TP -DABSL_CONSUME_DLL -DONNX_ML=1 -DONNX_NAMESPACE=onnx -DPROTOBUF_USE_DLLS -ID:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /EHsc /MP  /MDd /Z7 /Ob0 /Od /RTC1  -std:c++17 -MDd /MDd /wd4146 /wd4244 /wd4267 /wd4141 /showIncludes /FoCMakeFiles\onnx_optimizer_c_api.dir\onnxoptimizer\c_api\onnxoptimizer_c_api.cc.obj /FdCMakeFiles\onnx_optimizer_c_api.dir\onnx_optimizer_c_api.pdb /FS -c D:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean\onnxoptimizer\c_api\onnxoptimizer_c_api.cc
FAILED: [code=2] CMakeFiles/onnx_optimizer_c_api.dir/onnxoptimizer/c_api/onnxoptimizer_c_api.cc.obj 
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe   /TP -DABSL_CONSUME_DLL -DONNX_ML=1 -DONNX_NAMESPACE=onnx -DPROTOBUF_USE_DLLS -ID:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /EHsc /MP  /MDd /Z7 /Ob0 /Od /RTC1  -std:c++17 -MDd /MDd /wd4146 /wd4244 /wd4267 /wd4141 /showIncludes /FoCMakeFiles\onnx_optimizer_c_api.dir\onnxoptimizer\c_api\onnxoptimizer_c_api.cc.obj /FdCMakeFiles\onnx_optimizer_c_api.dir\onnx_optimizer_c_api.pdb /FS -c D:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean\onnxoptimizer\c_api\onnxoptimizer_c_api.cc
D:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean\onnxoptimizer/passes/fuse_add_bias_into_conv.h(137): error C3445: copy-list-initialization of 'std::vector<onnx::Dimension,std::allocator<onnx::Dimension>>' cannot use an explicit constructor
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\vector(678): note: see declaration of 'std::vector<onnx::Dimension,std::allocator<onnx::Dimension>>::vector'
[3/13] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe   /TP -DABSL_CONSUME_DLL -DONNX_ML=1 -DONNX_NAMESPACE=onnx -DPROTOBUF_USE_DLLS -ID:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /EHsc /MP  /MDd /Z7 /Ob0 /Od /RTC1  -std:c++17 -MDd /MDd /wd4146 /wd4244 /wd4267 /wd4141 /showIncludes /FoCMakeFiles\onnx_optimizer.dir\onnxoptimizer\optimize.cc.obj /FdCMakeFiles\onnx_optimizer.dir\onnx_optimizer.pdb /FS -c D:\b\onnx-optimizer\src\v0.3.19-d016ab96f4.clean\onnxoptimizer\optimize.cc
FAILED: [code=2] CMakeFiles/onnx_optimizer.dir/onnxoptimizer/optimize.cc.obj 

Checklist

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@luncliff luncliff marked this pull request as ready for review November 24, 2025 06:40
@vicroms vicroms merged commit 3351bde into microsoft:master Nov 24, 2025
17 checks passed
@luncliff luncliff deleted the port/onnx-optimizer branch November 24, 2025 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants