Skip to content

Commit b19fc38

Browse files
Applied change to fix issue in itoa.c and itoa.h with newer versions of GCC (using the changes from STM's fix, in Arduino_Core_STM32)
1 parent f2c2323 commit b19fc38

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

STM32F1/cores/maple/itoa.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,12 @@ extern char* ltoa( long value, char *string, int radix )
120120

121121
return string;
122122
}
123-
123+
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
124+
(__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
125+
extern char* utoa( unsigned value, char *string, int radix )
126+
#else
124127
extern char* utoa( unsigned long value, char *string, int radix )
128+
#endif
125129
{
126130
return ultoa( value, string, radix ) ;
127131
}

STM32F1/cores/maple/itoa.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ extern void itoa( int n, char s[] ) ;
3131

3232
extern char* itoa( int value, char *string, int radix ) ;
3333
extern char* ltoa( long value, char *string, int radix ) ;
34+
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
35+
(__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
36+
extern char* utoa( unsigned value, char *string, int radix ) ;
37+
#else
3438
extern char* utoa( unsigned long value, char *string, int radix ) ;
39+
#endif
3540
extern char* ultoa( unsigned long value, char *string, int radix ) ;
3641
#endif /* 0 */
3742

STM32F4/cores/maple/itoa.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,12 @@ extern char* ltoa( long value, char *string, int radix )
120120

121121
return string;
122122
}
123-
123+
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
124+
(__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
125+
extern char* utoa( unsigned value, char *string, int radix )
126+
#else
124127
extern char* utoa( unsigned long value, char *string, int radix )
128+
#endif
125129
{
126130
return ultoa( value, string, radix ) ;
127131
}

STM32F4/cores/maple/itoa.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ extern void itoa( int n, char s[] ) ;
3131

3232
extern char* itoa( int value, char *string, int radix ) ;
3333
extern char* ltoa( long value, char *string, int radix ) ;
34+
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
35+
(__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
36+
extern char* utoa( unsigned value, char *string, int radix ) ;
37+
#else
3438
extern char* utoa( unsigned long value, char *string, int radix ) ;
39+
#endif
3540
extern char* ultoa( unsigned long value, char *string, int radix ) ;
3641
#endif /* 0 */
3742

0 commit comments

Comments
 (0)