﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
2313	C++ Code generator does not work	Martin Sjölund	Niklas Worschech	"Boost doesn't like the generated code:
{{{
marsj@dev:~/trunk/testsuite/openmodelica/cppruntime$ ../../../build/bin/omc +simCodeTarget=Cpp tearnonlin1FMI.mos
true

""Error: Error building simulator. Build log: g++ -shared -I. -o tearnonlin1.so tearnonlin1.cpp tearnonlin1FMU.cpp Functions.cpp tearnonlin1Algloop9.cpp tearnonlin1Algloop4.cpp  -I""/home/marsj/trunk/build/include/omc/cpp"" -I""/home/marsj/trunk/build/include/omc/cpp/Core"" -I""/home/marsj/trunk/build/include/omc/cpp/SimCoreFactory"" -I""/usr/include""  -O0 -falign-functions -march=native -mfpmath=sse -fPIC   -L""/home/marsj/trunk/build/lib/omc/cpp"" -L/usr/lib -lOMCppSystem_static -lOMCppDataExchange_static -lOMCppOMCFactory /usr/lib/libboost_system-mt.so /usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_serialization-mt.so -ldl
In file included from /usr/include/boost/limits.hpp:19:0,
                 from /usr/include/boost/iterator/iterator_concepts.hpp:26,
                 from /usr/include/boost/range/concepts.hpp:20,
                 from /usr/include/boost/range/algorithm/equal.hpp:14,
                 from /usr/include/boost/range/iterator_range_core.hpp:29,
                 from /usr/include/boost/range/iterator_range.hpp:13,
                 from /usr/include/boost/assign/list_of.hpp:20,
                 from /home/marsj/trunk/build/include/omc/cpp/Modelica.h:17,
                 from tearnonlin1.cpp:1:
/usr/include/c++/4.6/limits: In instantiation of ‘std::numeric_limits<long int(long int*)throw ()>’:
/usr/include/boost/detail/lcast_precision.hpp:75:5:   instantiated from ‘const unsigned int boost::detail::lcast_precision<long int(long int*)throw ()>::precision_dec’
/usr/include/boost/detail/lcast_precision.hpp:79:1:   instantiated from ‘boost::detail::lcast_precision<long int(long int*)throw ()>’
/usr/include/boost/detail/lcast_precision.hpp:102:32:   instantiated from ‘std::streamsize boost::detail::lcast_get_precision(T*) [with T = long int(long int*)throw (), std::streamsize = long int]’
/usr/include/boost/detail/lcast_precision.hpp:176:74:   instantiated from ‘void boost::detail::lcast_set_precision(std::ios_base&, Source*, Target*) [with Source = long int(long int*)throw (), Target = std::basic_string<char>]’
/usr/include/boost/lexical_cast.hpp:585:17:   instantiated from ‘boost::detail::lexical_stream<Target, Source, Traits>::lexical_stream(boost::detail::lexical_stream<Target, Source, Traits>::char_type*, boost::detail::lexical_stream<Target, Source, Traits>::char_type*) [with Target = std::basic_string<char>, Source = long int(long int*)throw (), Traits = std::char_traits<char>, boost::detail::lexical_stream<Target, Source, Traits>::char_type = char]’
/usr/include/boost/lexical_cast.hpp:1148:53:   instantiated from ‘Target boost::detail::lexical_cast(typename boost::call_traits<Source>::param_type, CharT*, std::size_t) [with Target = std::basic_string<char>, Source = long int(long int*)throw (), bool Unlimited = true, CharT = char, typename boost::call_traits<Source>::param_type = long int (&)(long int*)throw (), std::size_t = long unsigned int]’
/usr/include/boost/lexical_cast.hpp:1174:77:   instantiated from ‘Target boost::lexical_cast(const Source&) [with Target = std::basic_string<char>, Source = long int(long int*)throw ()]’
tearnonlin1.cpp:87:116:   instantiated from here
/usr/include/c++/4.6/limits:309:7: error: function returning a function
/usr/include/c++/4.6/limits:313:7: error: function returning a function
/usr/include/c++/4.6/limits:325:7: error: function returning a function
/usr/include/c++/4.6/limits:329:7: error: function returning a function
/usr/include/c++/4.6/limits:333:7: error: function returning a function
/usr/include/c++/4.6/limits:338:7: error: function returning a function
/usr/include/c++/4.6/limits:343:7: error: function returning a function
/usr/include/c++/4.6/limits:349:7: error: function returning a function
make: *** [tearnonlin1.fmu] Error 1

""
""tearnonlin1_me_FMU.mo""
""""
true
""""
}}}"	defect	closed	high	1.9.0	Code Generation	trunk	fixed		Lennart Ochel
