The first allows usage of several functions in the std namespace, which broke compilation of gddrescue specifically with uClibc-ng and uClibc++. The second allows usage of long long with normal C++11, which is part of the standard. Before, std=gnu++11 needed to be passsed to work around it. As a result of the second patch, the pedantic patch can safely be removed. Both patches are upstream backports. Added -std=c++11 to CFLAGS to guarentee proper inclusion of long long. Added another patch that fixes a typo with the long long support. Sent to upstream. Fixed up license information according to SPDX. Small cleanups for consistency. Signed-off-by: Rosen Penev <rosenp@gmail.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			793 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			793 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 8245f62c1e7aba150f666b3c3a1dda646dee6d4b Mon Sep 17 00:00:00 2001
 | 
						|
From: Rosen Penev <rosenp@gmail.com>
 | 
						|
Date: Fri, 27 Sep 2019 13:12:44 -0700
 | 
						|
Subject: [PATCH] cstdio: Add undef for four functions
 | 
						|
 | 
						|
When compiling with uClibc-ng, these functions get defined as macros and
 | 
						|
become unavailable for std.
 | 
						|
 | 
						|
Fixes programs that use the std versions of these functions.
 | 
						|
 | 
						|
This matches libstdcpp behavior.
 | 
						|
 | 
						|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
 | 
						|
---
 | 
						|
 include/cstdio | 9 +++++++++
 | 
						|
 1 file changed, 9 insertions(+)
 | 
						|
 | 
						|
--- a/include/cstdio
 | 
						|
+++ b/include/cstdio
 | 
						|
@@ -21,6 +21,15 @@
 | 
						|
 #ifndef __HEADER_CSTDIO
 | 
						|
 #define __HEADER_CSTDIO 1
 | 
						|
 
 | 
						|
+#undef clearerr
 | 
						|
+#undef feof
 | 
						|
+#undef ferror
 | 
						|
+#undef fgetc
 | 
						|
+#undef fputc
 | 
						|
+#undef getc
 | 
						|
+#undef getchar
 | 
						|
+#undef putc
 | 
						|
+#undef putchar
 | 
						|
 
 | 
						|
 namespace std{
 | 
						|
 	using ::FILE;
 |