included more characters into xli tag character set.
improved detection of __float128 support
This commit is contained in:
		
							
								
								
									
										34
									
								
								qse/configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								qse/configure
									
									
									
									
										vendored
									
									
								
							| @ -20080,6 +20080,40 @@ fi | |||||||
| rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | if test ${ac_cv_sizeof___float128} -gt 0 | ||||||
|  | then | ||||||
|  | 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking __float128 with linking" >&5 | ||||||
|  | $as_echo_n "checking __float128 with linking... " >&6; } | ||||||
|  | 	cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||||||
|  | /* end confdefs.h.  */ | ||||||
|  | #include <stdio.h> | ||||||
|  | int | ||||||
|  | main () | ||||||
|  | { | ||||||
|  |  | ||||||
|  | 			__float128 x, y, z; | ||||||
|  | 			z = x * y + x; | ||||||
|  | 			printf ("%p", (char*)(int)z); | ||||||
|  |  | ||||||
|  |   ; | ||||||
|  |   return 0; | ||||||
|  | } | ||||||
|  | _ACEOF | ||||||
|  | if ac_fn_c_try_link "$LINENO"; then : | ||||||
|  |   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||||||
|  | $as_echo "yes" >&6; } | ||||||
|  | else | ||||||
|  |  | ||||||
|  | 			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||||||
|  | $as_echo "no" >&6; } | ||||||
|  | 			ac_cv_sizeof___float128=0 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | fi | ||||||
|  | rm -f core conftest.err conftest.$ac_objext \ | ||||||
|  |     conftest$ac_exeext conftest.$ac_ext | ||||||
|  | fi | ||||||
|  |  | ||||||
|  |  | ||||||
| cat >>confdefs.h <<_ACEOF | cat >>confdefs.h <<_ACEOF | ||||||
| #define QSE_SIZEOF_CHAR ${ac_cv_sizeof_char} | #define QSE_SIZEOF_CHAR ${ac_cv_sizeof_char} | ||||||
|  | |||||||
| @ -442,6 +442,26 @@ then | |||||||
| 	) | 	) | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | dnl Some compilers doesn't seem to have full support for __float128  | ||||||
|  | dnl even if the type is available. | ||||||
|  | if test ${ac_cv_sizeof___float128} -gt 0 | ||||||
|  | then | ||||||
|  | 	AC_MSG_CHECKING([__float128 with linking]) | ||||||
|  | 	AC_TRY_LINK( | ||||||
|  | 		[#include <stdio.h>], | ||||||
|  | 		[ | ||||||
|  | 			__float128 x, y, z; | ||||||
|  | 			z = x * y + x; | ||||||
|  | 			printf ("%p", (char*)(int)z); | ||||||
|  | 		], | ||||||
|  | 		[AC_MSG_RESULT(yes)], | ||||||
|  | 		[ | ||||||
|  | 			AC_MSG_RESULT(no) | ||||||
|  | 			ac_cv_sizeof___float128=0 | ||||||
|  | 		] | ||||||
|  | 	) | ||||||
|  | fi | ||||||
|  |  | ||||||
| AC_DEFINE_UNQUOTED(QSE_SIZEOF_CHAR, ${ac_cv_sizeof_char}, [sizeof(char)]) | AC_DEFINE_UNQUOTED(QSE_SIZEOF_CHAR, ${ac_cv_sizeof_char}, [sizeof(char)]) | ||||||
| AC_DEFINE_UNQUOTED(QSE_SIZEOF_SHORT, ${ac_cv_sizeof_short}, [sizeof(short)]) | AC_DEFINE_UNQUOTED(QSE_SIZEOF_SHORT, ${ac_cv_sizeof_short}, [sizeof(short)]) | ||||||
| AC_DEFINE_UNQUOTED(QSE_SIZEOF_INT, ${ac_cv_sizeof_int}, [sizeof(int)]) | AC_DEFINE_UNQUOTED(QSE_SIZEOF_INT, ${ac_cv_sizeof_int}, [sizeof(int)]) | ||||||
|  | |||||||
| @ -462,8 +462,8 @@ retry: | |||||||
| 		int lead_digit = QSE_ISDIGIT(c); | 		int lead_digit = QSE_ISDIGIT(c); | ||||||
| 		int all_digits = 1; | 		int all_digits = 1; | ||||||
|  |  | ||||||
| 		/* a normal identifier can be composed of wider varieties of characters | 		/* a normal identifier can be composed of wider varieties of  | ||||||
| 		 * than a keyword/directive */ | 		 * characters than a keyword/directive */ | ||||||
| 		while (1) | 		while (1) | ||||||
| 		{ | 		{ | ||||||
| 			ADD_TOKEN_CHAR (xli, tok, c); | 			ADD_TOKEN_CHAR (xli, tok, c); | ||||||
| @ -596,7 +596,9 @@ retry: | |||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if (!QSE_ISALNUM(c) && c != QSE_T('-') && c != QSE_T('_')) | 			if (!QSE_ISALNUM(c) && c != QSE_T('-') && c != QSE_T('_') &&  | ||||||
|  | 			    c != QSE_T(':') && c != QSE_T('*') && c != QSE_T('/') &&  | ||||||
|  | 			    c != QSE_T(',') && c != QSE_T('.') && c != QSE_T('|')) | ||||||
| 			{ | 			{ | ||||||
| 				qse_char_t cc = (qse_char_t)c; | 				qse_char_t cc = (qse_char_t)c; | ||||||
| 				qse_cstr_t ea; | 				qse_cstr_t ea; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user