Skip to content

Building with gcc 14.2 fails #11417

@lymereJ

Description

@lymereJ

Issue overview

Building the latest develop with gcc 14.2.0 fails with the following error:

In static member function ‘static void* ObjexxFCL::AlignedAllocator<T>::allocate(size_type) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’,
 inlined from ‘ObjexxFCL::CArrayA< <template-parameter-1-1> >::CArrayA(size_type) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/CArrayA.hh:175:26,
 inlined from ‘void ObjexxFCL::Array< <template-parameter-1-1> >::operator=(const ObjexxFCL::Array< <template-parameter-1-1> >&) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/Array.hh:406:17,
 inlined from ‘ObjexxFCL::Array1D< <template-parameter-1-1> >& ObjexxFCL::Array1D< <template-parameter-1-1> >::operator=(const ObjexxFCL::Array1D< <template-parameter-1-1> >&) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/Array1D.hh:477:21,
 inlined from ‘EnergyPlus::DataBSDFWindow::BasisStruct& EnergyPlus::DataBSDFWindow::BasisStruct::operator=(const EnergyPlus::DataBSDFWindow::BasisStruct&)’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/src/EnergyPlus/DataBSDFWindow.hh:148:12:
/qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/AlignedAllocator.hh:47:52: error: argument 1 value ‘18446744073709551591’ exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=]
 47 | void * mem( n > 0u ? ::operator new( ( n * sizeof( T ) ) + ( OBJEXXFCL_ALIGN - 1 ) ) : nullptr );
 | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/bits/exception_ptr.h:38,
 from /vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/exception:166,
 from /vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/stdexcept:38,
 from /qfs/projects/BECP/EnergyPlus/src/V261dev/src/EnergyPlus/EnergyPlus.hh:58:
/vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/new: In function ‘EnergyPlus::DataBSDFWindow::BasisStruct& EnergyPlus::DataBSDFWindow::BasisStruct::operator=(const EnergyPlus::DataBSDFWindow::BasisStruct&)’:
/vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/new:131:26: note: in a call to allocation function ‘void* operator new(std::size_t)’ declared here
 131 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
 | ^~~~~~~~
In static member function ‘static void* ObjexxFCL::AlignedAllocator<T>::allocate(size_type) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’,
 inlined from ‘ObjexxFCL::CArrayA< <template-parameter-1-1> >::CArrayA(size_type) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/CArrayA.hh:175:26,
 inlined from ‘void ObjexxFCL::Array< <template-parameter-1-1> >::operator=(const ObjexxFCL::Array< <template-parameter-1-1> >&) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/Array.hh:406:17,
 inlined from ‘ObjexxFCL::Array1D< <template-parameter-1-1> >& ObjexxFCL::Array1D< <template-parameter-1-1> >::operator=(const ObjexxFCL::Array1D< <template-parameter-1-1> >&) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/Array1D.hh:477:21,
 inlined from ‘EnergyPlus::DataBSDFWindow::BasisStruct& EnergyPlus::DataBSDFWindow::BasisStruct::operator=(const EnergyPlus::DataBSDFWindow::BasisStruct&)’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/src/EnergyPlus/DataBSDFWindow.hh:148:12,
 inlined from ‘void EnergyPlus::WindowComplexManager::InitBSDFWindows(EnergyPlus::EnergyPlusData&)’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/src/EnergyPlus/WindowComplexManager.cc:327:100:
/qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/AlignedAllocator.hh:47:52: error: argument 1 value ‘18446744073709551591’ exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=]
 47 | void * mem( n > 0u ? ::operator new( ( n * sizeof( T ) ) + ( OBJEXXFCL_ALIGN - 1 ) ) : nullptr );
 | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/new: In function ‘void EnergyPlus::WindowComplexManager::InitBSDFWindows(EnergyPlus::EnergyPlusData&)’:
/vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/new:131:26: note: in a call to allocation function ‘void* operator new(std::size_t)’ declared here
 131 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
 | ^~~~~~~~
In static member function ‘static void* ObjexxFCL::AlignedAllocator<T>::allocate(size_type) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’,
 inlined from ‘ObjexxFCL::CArrayA< <template-parameter-1-1> >::CArrayA(size_type) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/CArrayA.hh:175:26,
 inlined from ‘void ObjexxFCL::Array< <template-parameter-1-1> >::operator=(const ObjexxFCL::Array< <template-parameter-1-1> >&) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/Array.hh:406:17,
 inlined from ‘ObjexxFCL::Array1D< <template-parameter-1-1> >& ObjexxFCL::Array1D< <template-parameter-1-1> >::operator=(const ObjexxFCL::Array1D< <template-parameter-1-1> >&) [with T = EnergyPlus::DataBSDFWindow::BasisElemDescr]’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/Array1D.hh:477:21,
 inlined from ‘EnergyPlus::DataBSDFWindow::BasisStruct& EnergyPlus::DataBSDFWindow::BasisStruct::operator=(const EnergyPlus::DataBSDFWindow::BasisStruct&)’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/src/EnergyPlus/DataBSDFWindow.hh:148:12,
 inlined from ‘void EnergyPlus::WindowComplexManager::InitBSDFWindows(EnergyPlus::EnergyPlusData&)’ at /qfs/projects/BECP/EnergyPlus/src/V261dev/src/EnergyPlus/WindowComplexManager.cc:329:142:
/qfs/projects/BECP/EnergyPlus/src/V261dev/third_party/ObjexxFCL/src/ObjexxFCL/AlignedAllocator.hh:47:52: error: argument 1 value ‘18446744073709551591’ exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=]
 47 | void * mem( n > 0u ? ::operator new( ( n * sizeof( T ) ) + ( OBJEXXFCL_ALIGN - 1 ) ) : nullptr );
 | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/new: In function ‘void EnergyPlus::WindowComplexManager::InitBSDFWindows(EnergyPlus::EnergyPlusData&)’:
/vast/projects/ops/rocky9/gcc/14.2.0/include/c++/14.2.0/new:131:26: note: in a call to allocation function ‘void* operator new(std::size_t)’ declared here
 131 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
 | ^~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/EnergyPlus/CMakeFiles/energypluslib.dir/build.make:4589: src/EnergyPlus/CMakeFiles/energypluslib.dir/WindowComplexManager.cc.o] Error 1

Workaround was to comment target_compile_options(project_options INTERFACE -Werror) in CompilerFlags.cmake.

Operating System (Multiple choices)

Other

Operating System Version

RHEL 9.5

Version of EnergyPlus

26.1

Unmethours link or helpdesk ticket number

N/A

Defect file

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    TriageIssue needs to be assessed and labeled, further information on reported might be neededUnconfirmedDefectDefect has not yet confirmed to be an actual issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions