mirror of
				https://github.com/digistump/DigistumpArduino.git
				synced 2025-11-03 13:04:48 -08:00 
			
		
		
		
	add new.h/cpp
This commit is contained in:
		
							
								
								
									
										18
									
								
								hardware/digistump/avr/cores/pro/new.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								hardware/digistump/avr/cores/pro/new.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
#include <new.h>
 | 
			
		||||
 | 
			
		||||
void * operator new(size_t size)
 | 
			
		||||
{
 | 
			
		||||
  return malloc(size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void operator delete(void * ptr)
 | 
			
		||||
{
 | 
			
		||||
  free(ptr);
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);};
 | 
			
		||||
void __cxa_guard_release (__guard *g) {*(char *)g = 1;};
 | 
			
		||||
void __cxa_guard_abort (__guard *) {}; 
 | 
			
		||||
 | 
			
		||||
void __cxa_pure_virtual(void) {};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								hardware/digistump/avr/cores/pro/new.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								hardware/digistump/avr/cores/pro/new.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
/* Header to define new/delete operators as they aren't provided by avr-gcc by default
 | 
			
		||||
   Taken from http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=59453 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef NEW_H
 | 
			
		||||
#define NEW_H
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
void * operator new(size_t size);
 | 
			
		||||
void operator delete(void * ptr); 
 | 
			
		||||
 | 
			
		||||
__extension__ typedef int __guard __attribute__((mode (__DI__)));
 | 
			
		||||
 | 
			
		||||
extern "C" int __cxa_guard_acquire(__guard *);
 | 
			
		||||
extern "C" void __cxa_guard_release (__guard *);
 | 
			
		||||
extern "C" void __cxa_guard_abort (__guard *); 
 | 
			
		||||
 | 
			
		||||
extern "C" void __cxa_pure_virtual(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user