schrodinger / coordgenlibs

Schrodinger-developed 2D Coordinate Generation
BSD 3-Clause "New" or "Revised" License
42 stars 28 forks source link

Fix linux build with older GCC (6.4.0) #89

Closed ricrogz closed 3 years ago

ricrogz commented 3 years ago

The build on linux with GCC 6.4.0 fails with the errors below. This patch fixes it.

/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h: In function ‘sketcherMinimizerMolecule* schrodinger::approxSmilesParse(const string&)’:
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:36:17: error: converting to ‘std::stack<std::stack<sketcherMinimizerAtom*> >::value_type {aka std::stack<sketcherMinimizerAtom*>}’ from initializer list would use explicit constructor ‘std::stack<_Tp, _Sequence>::stack(_Sequence&&) [with _Tp = sketcherMinimizerAtom*; _Sequence = std::deque<sketcherMinimizerAtom*, std::allocator<sketcherMinimizerAtom*> >]’ [-Werror]
     tree.push({});
                 ^
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:36:17: note: in C++11 and above a default constructor can be explicit
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:69:25: error: converting to ‘std::stack<std::stack<sketcherMinimizerAtom*> >::value_type {aka std::stack<sketcherMinimizerAtom*>}’ from initializer list would use explicit constructor ‘std::stack<_Tp, _Sequence>::stack(_Sequence&&) [with _Tp = sketcherMinimizerAtom*; _Sequence = std::deque<sketcherMinimizerAtom*, std::allocator<sketcherMinimizerAtom*> >]’ [-Werror]
             tree.push({});
                         ^
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:69:25: note: in C++11 and above a default constructor can be explicit
In file included from /home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/test_smilesparser.cpp:7:0:
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h: In function ‘sketcherMinimizerMolecule* schrodinger::approxSmilesParse(const string&)’:
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:36:17: error: converting to ‘std::stack<std::stack<sketcherMinimizerAtom*> >::value_type {aka std::stack<sketcherMinimizerAtom*>}’ from initializer list would use explicit constructor ‘std::stack<_Tp, _Sequence>::stack(_Sequence&&) [with _Tp = sketcherMinimizerAtom*; _Sequence = std::deque<sketcherMinimizerAtom*, std::allocator<sketcherMinimizerAtom*> >]’ [-Werror]
     tree.push({});
                 ^
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:36:17: note: in C++11 and above a default constructor can be explicit
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:69:25: error: converting to ‘std::stack<std::stack<sketcherMinimizerAtom*> >::value_type {aka std::stack<sketcherMinimizerAtom*>}’ from initializer list would use explicit constructor ‘std::stack<_Tp, _Sequence>::stack(_Sequence&&) [with _Tp = sketcherMinimizerAtom*; _Sequence = std::deque<sketcherMinimizerAtom*, std::allocator<sketcherMinimizerAtom*> >]’ [-Werror]
             tree.push({});
                         ^
/home/rodrigue/Documents/code/coordgenlibs/coordgenlibs/test/coordgenBasicSMILES.h:69:25: note: in C++11 and above a default constructor can be explicit