[ell-i-developers] Re: Moving to C++11, thereby necessitating to update the emulator to LLVM, causing side effects

  • From: Pekka Nikander <pekka.nikander@xxxxxx>
  • To: "ell-i-developers@xxxxxxxxxxxxx" <ell-i-developers@xxxxxxxxxxxxx>
  • Date: Mon, 27 Jan 2014 15:22:19 +0200

> Hence, as the Arduino folks have announced that the 1.5 IDE will move to gcc 
> 4.8 on the ARM side, and as gcc 4.8 fully supports C++11, there is the new 
> possibility of utilising the relaxed C++11 POD rules while defining the 
> Serial class

> ...  given the move to gcc 4.8 that is completely C++11 compatible and our 
> desire to use the compiler to do heavy compile-time optimisations, I think it 
> would be a wise move to go to C++11 now, while there is still a minimal 
> amount of C++ code in our new runtime.

> I have now done that, but this switching has a number of potentially nasty 
> side effects.
> ..., there will be a largish commit pushed soon, and that may cause merge 
> errors when you'll pull the commit, as it touches so many places, though 
> lightly.  Consider yourself warned.

I just pushed ten commits, a few of which is related to moving to C++11.  It 
turned out not to be that big a change after all.  Hence, pulling is not likely 
to generate that my conflicts even if you have lots of local changes.

Another half of so of those commits implement the Serial object, though with a 
very incomplete set of APIs.  At the moment only Serial.begin and 
Serial.write(uint8_t) are supported, nothing else.  However, the code is still 
small.  A runtime that has Serial implemented is just 1700 bytes or so.

I also pushed a tentative fix for the Timer initialisation problem that you 
Ivan are facing.  I haven't tested it, so it may not work.  It may also cause 
some merge conflicts for you, be warned.

I'm myself moving back to HW for a while, trying to get the first approximation 
of the STM32F0 + small FPGA aka Basellei schema done during this week.


Other related posts: