mirror of
				https://github.com/PowerShell/openssh-portable.git
				synced 2025-10-31 19:44:16 +01:00 
			
		
		
		
	better detection of broken -fzero-call-used-regs
gcc 13.2.0 on ppc64le refuses to compile some function, including cipher.c:compression_alg_list() with an error: > sorry, unimplemented: argument ‘used’ is not supportedcw > for ‘-fzero-call-used-regs’ on this target This extends the autoconf will-it-work test with a similarly- structured function that seems to catch this. Spotted/tested by Colin Watson; bz3645
This commit is contained in:
		
							parent
							
								
									8241b9c052
								
							
						
					
					
						commit
						1036d77b34
					
				| @ -20,18 +20,24 @@ char *f2(char *s, ...) { | ||||
| 	va_end(args); | ||||
| 	return strdup(ret); | ||||
| } | ||||
| const char *f3(int s) { | ||||
| 	return s ? "good" : "gooder"; | ||||
| } | ||||
| int main(int argc, char **argv) { | ||||
| 	(void)argv; | ||||
| 	char b[256], *cp; | ||||
| 	const char *s; | ||||
| 	/* Some math to catch -ftrapv problems in the toolchain */ | ||||
| 	int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||||
| 	float l = i * 2.1; | ||||
| 	double m = l / 0.5; | ||||
| 	long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||||
| 	(void)argv; | ||||
| 	f(1); | ||||
| 	snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o); | ||||
| 	s = f3(f(2)); | ||||
| 	snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s); | ||||
| 	if (write(1, b, 0) == -1) exit(0); | ||||
| 	cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o); | ||||
| 	cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s); | ||||
| 	if (write(1, cp, 0) == -1) exit(0); | ||||
| 	free(cp); | ||||
| 	/* | ||||
| 	 * Test fallthrough behaviour.  clang 10's -Wimplicit-fallthrough does | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user