rework string pooling; disable our own (rely on compiler’s)…
• if HAVE_STRING_POOLING is set to 1 • if HAVE_STRING_POOLING is set to 2 and not GCC < 4 is used • if HAVE_STRING_POOLING is not set to 0 and LLVM or GCC >= 4 is used Closes: LP#1580348
This commit is contained in:
		
							
								
								
									
										16
									
								
								expr.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								expr.c
									
									
									
									
									
								
							| @@ -23,7 +23,7 @@ | ||||
|  | ||||
| #include "sh.h" | ||||
|  | ||||
| __RCSID("$MirOS: src/bin/mksh/expr.c,v 1.85 2016/05/05 22:56:13 tg Exp $"); | ||||
| __RCSID("$MirOS: src/bin/mksh/expr.c,v 1.86 2016/07/25 00:04:42 tg Exp $"); | ||||
|  | ||||
| /* the order of these enums is constrained by the order of opinfo[] */ | ||||
| enum token { | ||||
| @@ -274,33 +274,33 @@ evalerr(Expr_state *es, enum error_type type, const char *str) | ||||
| 		default: | ||||
| 			s = opinfo[(int)es->tok].name; | ||||
| 		} | ||||
| 		warningf(true, "%s: %s '%s'", es->expression, | ||||
| 		    "unexpected", s); | ||||
| 		warningf(true, Tf_sD_s_qs, es->expression, | ||||
| 		    Tunexpected, s); | ||||
| 		break; | ||||
|  | ||||
| 	case ET_BADLIT: | ||||
| 		warningf(true, "%s: %s '%s'", es->expression, | ||||
| 		warningf(true, Tf_sD_s_qs, es->expression, | ||||
| 		    "bad number", str); | ||||
| 		break; | ||||
|  | ||||
| 	case ET_RECURSIVE: | ||||
| 		warningf(true, "%s: %s '%s'", es->expression, | ||||
| 		warningf(true, Tf_sD_s_qs, es->expression, | ||||
| 		    "expression recurses on parameter", str); | ||||
| 		break; | ||||
|  | ||||
| 	case ET_LVALUE: | ||||
| 		warningf(true, "%s: %s %s", | ||||
| 		warningf(true, Tf_sD_s_s, | ||||
| 		    es->expression, str, "requires lvalue"); | ||||
| 		break; | ||||
|  | ||||
| 	case ET_RDONLY: | ||||
| 		warningf(true, "%s: %s %s", | ||||
| 		warningf(true, Tf_sD_s_s, | ||||
| 		    es->expression, str, "applied to read-only variable"); | ||||
| 		break; | ||||
|  | ||||
| 	default: /* keep gcc happy */ | ||||
| 	case ET_STR: | ||||
| 		warningf(true, "%s: %s", es->expression, str); | ||||
| 		warningf(true, Tf_sD_s, es->expression, str); | ||||
| 		break; | ||||
| 	} | ||||
| 	unwind(LAEXPR); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user