kconfig/expr.c
changeset 1761 88020b2c3246
parent 1 eeea35fbf182
child 2448 a103abae1560
     1.1 --- a/kconfig/expr.c	Sat Feb 24 11:00:05 2007 +0000
     1.2 +++ b/kconfig/expr.c	Tue Jan 12 19:24:03 2010 +0100
     1.3 @@ -87,7 +87,7 @@
     1.4  		break;
     1.5  	case E_AND:
     1.6  	case E_OR:
     1.7 -	case E_CHOICE:
     1.8 +	case E_LIST:
     1.9  		e->left.expr = expr_copy(org->left.expr);
    1.10  		e->right.expr = expr_copy(org->right.expr);
    1.11  		break;
    1.12 @@ -217,7 +217,7 @@
    1.13  		expr_free(e2);
    1.14  		trans_count = old_count;
    1.15  		return res;
    1.16 -	case E_CHOICE:
    1.17 +	case E_LIST:
    1.18  	case E_RANGE:
    1.19  	case E_NONE:
    1.20  		/* panic */;
    1.21 @@ -648,7 +648,7 @@
    1.22  	case E_EQUAL:
    1.23  	case E_UNEQUAL:
    1.24  	case E_SYMBOL:
    1.25 -	case E_CHOICE:
    1.26 +	case E_LIST:
    1.27  		break;
    1.28  	default:
    1.29  		e->left.expr = expr_transform(e->left.expr);
    1.30 @@ -932,7 +932,7 @@
    1.31  		break;
    1.32  	case E_SYMBOL:
    1.33  		return expr_alloc_comp(type, e->left.sym, sym);
    1.34 -	case E_CHOICE:
    1.35 +	case E_LIST:
    1.36  	case E_RANGE:
    1.37  	case E_NONE:
    1.38  		/* panic */;
    1.39 @@ -955,14 +955,14 @@
    1.40  	case E_AND:
    1.41  		val1 = expr_calc_value(e->left.expr);
    1.42  		val2 = expr_calc_value(e->right.expr);
    1.43 -		return E_AND(val1, val2);
    1.44 +		return EXPR_AND(val1, val2);
    1.45  	case E_OR:
    1.46  		val1 = expr_calc_value(e->left.expr);
    1.47  		val2 = expr_calc_value(e->right.expr);
    1.48 -		return E_OR(val1, val2);
    1.49 +		return EXPR_OR(val1, val2);
    1.50  	case E_NOT:
    1.51  		val1 = expr_calc_value(e->left.expr);
    1.52 -		return E_NOT(val1);
    1.53 +		return EXPR_NOT(val1);
    1.54  	case E_EQUAL:
    1.55  		sym_calc_value(e->left.sym);
    1.56  		sym_calc_value(e->right.sym);
    1.57 @@ -1000,9 +1000,9 @@
    1.58  		if (t2 == E_OR)
    1.59  			return 1;
    1.60  	case E_OR:
    1.61 -		if (t2 == E_CHOICE)
    1.62 +		if (t2 == E_LIST)
    1.63  			return 1;
    1.64 -	case E_CHOICE:
    1.65 +	case E_LIST:
    1.66  		if (t2 == 0)
    1.67  			return 1;
    1.68  	default:
    1.69 @@ -1034,12 +1034,18 @@
    1.70  		expr_print(e->left.expr, fn, data, E_NOT);
    1.71  		break;
    1.72  	case E_EQUAL:
    1.73 -		fn(data, e->left.sym, e->left.sym->name);
    1.74 +		if (e->left.sym->name)
    1.75 +			fn(data, e->left.sym, e->left.sym->name);
    1.76 +		else
    1.77 +			fn(data, NULL, "<choice>");
    1.78  		fn(data, NULL, "=");
    1.79  		fn(data, e->right.sym, e->right.sym->name);
    1.80  		break;
    1.81  	case E_UNEQUAL:
    1.82 -		fn(data, e->left.sym, e->left.sym->name);
    1.83 +		if (e->left.sym->name)
    1.84 +			fn(data, e->left.sym, e->left.sym->name);
    1.85 +		else
    1.86 +			fn(data, NULL, "<choice>");
    1.87  		fn(data, NULL, "!=");
    1.88  		fn(data, e->right.sym, e->right.sym->name);
    1.89  		break;
    1.90 @@ -1053,11 +1059,11 @@
    1.91  		fn(data, NULL, " && ");
    1.92  		expr_print(e->right.expr, fn, data, E_AND);
    1.93  		break;
    1.94 -	case E_CHOICE:
    1.95 +	case E_LIST:
    1.96  		fn(data, e->right.sym, e->right.sym->name);
    1.97  		if (e->left.expr) {
    1.98  			fn(data, NULL, " ^ ");
    1.99 -			expr_print(e->left.expr, fn, data, E_CHOICE);
   1.100 +			expr_print(e->left.expr, fn, data, E_LIST);
   1.101  		}
   1.102  		break;
   1.103  	case E_RANGE: