Skip to content

Trivial sketch won't compile using Arduino 1.8.13 #56

Closed
@nholthaus

Description

@nholthaus

This library worked mostly fine for me in Arduino 1.8.12, but in 1.8.13 the following trivial sketch won't compile. My intuition is that it's an include-order dependency issue.

#include <ArduinoSTL.h>

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

with the following errors:

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\del_opvs.cpp:25:53: error: 'std::size_t' has not been declared

_UCXXEXPORT void operator delete[](void * ptr, std::size_t) throw(){

                                                 ^~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\del_opnt.cpp:25:56: error: 'nothrow_t' in namespace 'std' does not name a type

_UCXXEXPORT void operator delete(void* ptr, const std::nothrow_t& ) throw() {

                                                    ^~~~~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\del_ops.cpp:25:50: error: 'std::size_t' has not been declared

_UCXXEXPORT void operator delete(void* ptr, std::size_t) throw(){

                                              ^~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\del_opvnt.cpp:25:58: error: 'nothrow_t' in namespace 'std' does not name a type

_UCXXEXPORT void operator delete[](void* ptr, const std::nothrow_t& ) throw(){

                                                      ^~~~~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_opnt.cpp:25:37: error: declaration of 'operator new' as non-function

_UCXXEXPORT void* operator new(std::size_t numBytes, const std::nothrow_t& ) throw(){

                                 ^~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_opnt.cpp:25:37: error: 'size_t' is not a member of 'std'

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_opnt.cpp:25:37: note: suggested alternative:

In file included from c:\users\nholt\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\stdlib.h:48:0,

             from C:\Users\NHolt\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\cores\arduino/new.h:22,

             from C:\Users\NHolt\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\cores\arduino/new:5,

             from E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_opnt.cpp:20:

c:\users\nholt\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\lib\gcc\avr\7.3.0\include\stddef.h:216:23: note: 'size_t'

typedef SIZE_TYPE size_t;

                   ^~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_opnt.cpp:25:54: error: expected primary-expression before 'const'

_UCXXEXPORT void* operator new(std::size_t numBytes, const std::nothrow_t& ) throw(){

                                                  ^~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_handler.cpp:22:12: error: 'nothrow_t' in namespace 'std' does not name a type

const std::nothrow_t std::nothrow = { };

        ^~~~~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_handler.cpp:25:6: error: 'new_handler' in namespace 'std' does not name a type

std::new_handler __new_handler;

  ^~~~~~~~~~~

E:\Users\NHolt\Documents\Arduino\libraries\ArduinoSTL-master\src\new_handler.cpp:27:1: error: '_UCXXEXPORT' does not name a type

_UCXXEXPORT std::new_handler std::set_new_handler(std::new_handler new_p) throw(){

^~~~~~~~~~~

exit status 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions