Changeset 635
- Timestamp:
- 08/27/10 23:51:12 (1 year ago)
- Files:
-
- branches/dmd-1.x/src/template.c (modified) (1 diff)
- trunk/src/template.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/dmd-1.x/src/template.c
r632 r635 966 966 967 967 // Loop through the function parameters 968 for ( i = 0; i < nfparams;i++)968 for (size_t parami = 0; parami < nfparams; parami++) 969 969 { 970 970 /* Skip over function parameters which wound up 971 971 * as part of a template tuple parameter. 972 972 */ 973 if (i == fptupindex) 974 { if (fptupindex == nfparams - 1) 975 break; 973 if (parami == fptupindex) 974 continue; 975 /* Set i = index into function arguments 976 * Function parameters correspond to function arguments as follows. 977 * Note that tuple_dim may be zero, and there may be default or 978 * variadic arguments at the end. 979 * arg [0..fptupindex] == param[0..fptupindex] 980 * arg [fptupindex..fptupindex+tuple_dim] == param[fptupindex] 981 * arg[fputupindex+dim.. ] == param[fptupindex+1.. ] 982 */ 983 i = parami; 984 if (fptupindex >= 0 && parami > fptupindex) 976 985 i += tuple_dim - 1; 977 continue; 978 } 979 980 Parameter *fparam = Parameter::getNth(fparameters, i); 986 987 Parameter *fparam = Parameter::getNth(fparameters, parami); 981 988 982 989 if (i >= nfargs) // if not enough arguments trunk/src/template.c
r632 r635 1090 1090 1091 1091 // Loop through the function parameters 1092 for ( i = 0; i < nfparams;i++)1092 for (size_t parami = 0; parami < nfparams; parami++) 1093 1093 { 1094 1094 /* Skip over function parameters which wound up 1095 1095 * as part of a template tuple parameter. 1096 1096 */ 1097 if (i == fptupindex) 1098 { if (fptupindex == nfparams - 1) 1099 break; 1097 if (parami == fptupindex) 1098 continue; 1099 /* Set i = index into function arguments 1100 * Function parameters correspond to function arguments as follows. 1101 * Note that tuple_dim may be zero, and there may be default or 1102 * variadic arguments at the end. 1103 * arg [0..fptupindex] == param[0..fptupindex] 1104 * arg [fptupindex..fptupindex+tuple_dim] == param[fptupindex] 1105 * arg[fputupindex+dim.. ] == param[fptupindex+1.. ] 1106 */ 1107 i = parami; 1108 if (fptupindex >= 0 && parami > fptupindex) 1100 1109 i += tuple_dim - 1; 1101 continue; 1102 } 1103 1104 Parameter *fparam = Parameter::getNth(fparameters, i); 1110 1111 Parameter *fparam = Parameter::getNth(fparameters, parami); 1105 1112 1106 1113 if (i >= nfargs) // if not enough arguments
