diff options
Diffstat (limited to 'src/tools')
24 files changed, 407 insertions, 413 deletions
diff --git a/src/tools/chdman.cpp b/src/tools/chdman.cpp index 6ea7648522c..b243a241c4f 100644 --- a/src/tools/chdman.cpp +++ b/src/tools/chdman.cpp @@ -504,8 +504,8 @@ public: uint32_t samples = (uint64_t(m_info.rate) * uint64_t(effframe + 1) * uint64_t(1000000) + m_info.fps_times_1million - 1) / uint64_t(m_info.fps_times_1million) - first_sample; // loop over channels and read the samples - int channels = unsigned((std::min<std::size_t>)(m_info.channels, ARRAY_LENGTH(m_audio))); - EQUIVALENT_ARRAY(m_audio, int16_t *) samplesptr; + int channels = unsigned((std::min<std::size_t>)(m_info.channels, std::size(m_audio))); + int16_t *samplesptr[std::size(m_audio)]; for (int chnum = 0; chnum < channels; chnum++) { // read the sound samples @@ -886,7 +886,7 @@ static int print_help(const std::string &argv0, const command_description &desc, // print usage for this command printf("Usage:\n"); printf(" %s %s [options], where valid options are:\n", argv0.c_str(), desc.name); - for (int valid = 0; valid < ARRAY_LENGTH(desc.valid_options); valid++) + for (int valid = 0; valid < std::size(desc.valid_options); valid++) { // determine whether we are required const char *option = desc.valid_options[valid]; @@ -1527,8 +1527,8 @@ static void do_info(parameters_map ¶ms) codec = CHD_CODEC_MINI + 1 + comptype; break; } - if (codec > ARRAY_LENGTH(compression_types)) - codec = ARRAY_LENGTH(compression_types) - 1; + if (codec >= std::size(compression_types)) + codec = std::size(compression_types) - 1; // count stats compression_types[codec]++; @@ -1538,7 +1538,7 @@ static void do_info(parameters_map ¶ms) printf("\n"); printf(" Hunks Percent Name\n"); printf("---------- ------- ------------------------------------\n"); - for (int comptype = 0; comptype < ARRAY_LENGTH(compression_types); comptype++) + for (int comptype = 0; comptype < std::size(compression_types); comptype++) if (compression_types[comptype] != 0) { // determine the name @@ -1847,7 +1847,7 @@ static void do_create_hd(parameters_map ¶ms) { uint32_t id = parse_number(template_str->second->c_str()); - if (id >= ARRAY_LENGTH(s_hd_templates)) + if (id >= std::size(s_hd_templates)) report_error(1, "Template '%d' is invalid\n", id); cylinders = s_hd_templates[id].cylinders; @@ -2668,7 +2668,7 @@ static void do_extract_ld(parameters_map ¶ms) avconfig.video = &avvideo; avconfig.maxsamples = max_samples_per_frame; avconfig.actsamples = &actsamples; - for (int chnum = 0; chnum < ARRAY_LENGTH(audio_data); chnum++) + for (int chnum = 0; chnum < std::size(audio_data); chnum++) { audio_data[chnum].resize(std::max(1U,max_samples_per_frame)); avconfig.audio[chnum] = &audio_data[chnum][0]; @@ -2928,7 +2928,7 @@ static void do_list_templates(parameters_map ¶ms) printf("ID Manufacturer Model Cylinders Heads Sectors Sector Size Total Size\n"); printf("------------------------------------------------------------------------------------\n"); - for (int id = 0; id < ARRAY_LENGTH(s_hd_templates); id++) + for (int id = 0; id < std::size(s_hd_templates); id++) { printf("%2d %-13s %-15s %9d %5d %7d %11d %7d MB\n", id, @@ -2990,7 +2990,7 @@ int CLIB_DECL main(int argc, char *argv[]) // iterate over valid options int valid; - for (valid = 0; valid < ARRAY_LENGTH(desc.valid_options); valid++) + for (valid = 0; valid < std::size(desc.valid_options); valid++) { // reduce to the option name const char *validname = desc.valid_options[valid]; @@ -3001,10 +3001,10 @@ int CLIB_DECL main(int argc, char *argv[]) // find the matching option description int optnum; - for (optnum = 0; optnum < ARRAY_LENGTH(s_options); optnum++) + for (optnum = 0; optnum < std::size(s_options); optnum++) if (strcmp(s_options[optnum].name, validname) == 0) break; - assert(optnum != ARRAY_LENGTH(s_options)); + assert(optnum != std::size(s_options)); // do we match? const option_description &odesc = s_options[optnum]; @@ -3028,12 +3028,12 @@ int CLIB_DECL main(int argc, char *argv[]) } // if not valid, error - if (valid == ARRAY_LENGTH(desc.valid_options)) + if (valid == std::size(desc.valid_options)) return print_help(args[0], desc, "Option not valid for this command"); } // make sure we got all our required parameters - for (int valid = 0; valid < ARRAY_LENGTH(desc.valid_options); valid++) + for (int valid = 0; valid < std::size(desc.valid_options); valid++) { const char *validname = desc.valid_options[valid]; if (validname == nullptr) diff --git a/src/tools/floptool.cpp b/src/tools/floptool.cpp index 534349e4089..4f1e0172444 100644 --- a/src/tools/floptool.cpp +++ b/src/tools/floptool.cpp @@ -131,7 +131,7 @@ void CLIB_DECL ATTR_PRINTF(1,2) logerror(const char *format, ...) va_end(arg); } -enum { FORMAT_COUNT = ARRAY_LENGTH(floppy_formats) }; +static constexpr size_t FORMAT_COUNT = std::size(floppy_formats); static floppy_image_format_t *formats[FORMAT_COUNT]; static std::vector<uint32_t> variants; diff --git a/src/tools/imgtool/filtbas.cpp b/src/tools/imgtool/filtbas.cpp index b785403ee83..49dfeb57ddd 100644 --- a/src/tools/imgtool/filtbas.cpp +++ b/src/tools/imgtool/filtbas.cpp @@ -207,7 +207,7 @@ static imgtoolerr_t basic_writefile(const basictokens *tokens, if ((c == '\r') || (c == '\n')) break; - if (pos <= ARRAY_LENGTH(buf) - 1) + if (pos <= std::size(buf) - 1) { buf[pos++] = c; } @@ -2943,8 +2943,8 @@ static const char *const basic_100[] = /* "BASIC 10.0" - supported by c65 & clon static const basictoken_tableent cocobas_tokenents[] = { - { 0x00, 0x80, cocobas_statements, ARRAY_LENGTH(cocobas_statements) }, - { 0xff, 0x80, cocobas_functions, ARRAY_LENGTH(cocobas_functions) } + { 0x00, 0x80, cocobas_statements, std::size(cocobas_statements) }, + { 0xff, 0x80, cocobas_functions, std::size(cocobas_functions) } }; static const basictokens cocobas_tokens = @@ -2955,7 +2955,7 @@ static const basictokens cocobas_tokens = {0xFF, 0x00, 0x00}, true, cocobas_tokenents, - ARRAY_LENGTH(cocobas_tokenents) + std::size(cocobas_tokenents) }; static imgtoolerr_t cocobas_readfile(imgtool::partition &partition, const char *filename, @@ -2989,8 +2989,8 @@ void filter_cocobas_getinfo(uint32_t state, union filterinfo *info) static const basictoken_tableent dragonbas_tokenents[] = { - { 0x00, 0x80, dragonbas_statements, ARRAY_LENGTH(dragonbas_statements) }, - { 0xff, 0x80, dragonbas_functions, ARRAY_LENGTH(dragonbas_functions) } + { 0x00, 0x80, dragonbas_statements, std::size(dragonbas_statements) }, + { 0xff, 0x80, dragonbas_functions, std::size(dragonbas_functions) } }; static const basictokens dragonbas_tokens = @@ -3001,7 +3001,7 @@ static const basictokens dragonbas_tokens = {0x55, 0x01, 0x24, 0x01, 0x00, 0x2A, 0x8B, 0x8D, 0xAA}, true, dragonbas_tokenents, - ARRAY_LENGTH(dragonbas_tokenents) + std::size(dragonbas_tokenents) }; static imgtoolerr_t dragonbas_readfile(imgtool::partition &partition, const char *filename, @@ -3035,7 +3035,7 @@ void filter_dragonbas_getinfo(uint32_t state, union filterinfo *info) static const basictoken_tableent vzbas_tokenents[] = { - { 0x00, 0x80, vzbas, ARRAY_LENGTH(vzbas) } + { 0x00, 0x80, vzbas, std::size(vzbas) } }; @@ -3048,7 +3048,7 @@ static const basictokens vzbas_tokens = {0x00}, false, vzbas_tokenents, - ARRAY_LENGTH(vzbas_tokenents) + std::size(vzbas_tokenents) }; static imgtoolerr_t vzbas_readfile(imgtool::partition &partition, const char *filename, @@ -3082,8 +3082,8 @@ void filter_vzbas_getinfo(uint32_t state, union filterinfo *info) static const basictoken_tableent bml3bas_tokenents[] = { - { 0x00, 0x80, bml3bas_statements, ARRAY_LENGTH(bml3bas_statements) }, - { 0xff, 0x80, bml3bas_functions, ARRAY_LENGTH(bml3bas_functions) } + { 0x00, 0x80, bml3bas_statements, std::size(bml3bas_statements) }, + { 0xff, 0x80, bml3bas_functions, std::size(bml3bas_functions) } }; static const basictokens bml3bas_tokens = @@ -3094,7 +3094,7 @@ static const basictokens bml3bas_tokens = {0xFF, 0x00, 0x00}, true, bml3bas_tokenents, - ARRAY_LENGTH(bml3bas_tokenents) + std::size(bml3bas_tokenents) }; static imgtoolerr_t bml3bas_readfile(imgtool::partition &partition, const char *filename, diff --git a/src/tools/imgtool/imgterrs.cpp b/src/tools/imgtool/imgterrs.cpp index bd679440309..863e61e2d3e 100644 --- a/src/tools/imgtool/imgterrs.cpp +++ b/src/tools/imgtool/imgterrs.cpp @@ -10,7 +10,7 @@ #include "imgtool.h" #include "imgterrs.h" -#include "osdcomm.h" +#include <iterator> static const char *const msgs[] = { @@ -50,6 +50,6 @@ const char *imgtool_error(imgtoolerr_t err) { err = (imgtoolerr_t)(ERRORCODE(err) - 1); assert(err >= 0); - assert(err < ARRAY_LENGTH(msgs)); + assert(err < std::size(msgs)); return msgs[err]; } diff --git a/src/tools/imgtool/imgtool.cpp b/src/tools/imgtool/imgtool.cpp index 6d14c90a369..4eaf97a1451 100644 --- a/src/tools/imgtool/imgtool.cpp +++ b/src/tools/imgtool/imgtool.cpp @@ -937,7 +937,7 @@ char *imgtool_temp_str(void) { static int index; static char temp_string_pool[32][256]; - return temp_string_pool[index++ % ARRAY_LENGTH(temp_string_pool)]; + return temp_string_pool[index++ % std::size(temp_string_pool)]; } @@ -1603,7 +1603,7 @@ imgtoolerr_t imgtool::partition::get_chain_string(const char *path, char *buffer chain[0].block = ~0; last_block = chain[0].block; - err = get_chain(path, chain, ARRAY_LENGTH(chain)); + err = get_chain(path, chain, std::size(chain)); if (err) return err; @@ -2362,7 +2362,7 @@ imgtoolerr_t imgtool::directory::get_next(imgtool_dirent &ent) { return imgtoolerr_t(IMGTOOLERR_BADFILENAME); } - snprintf(ent.filename, ARRAY_LENGTH(ent.filename), "%s", new_fname.c_str()); + snprintf(ent.filename, std::size(ent.filename), "%s", new_fname.c_str()); } // don't trust the module! diff --git a/src/tools/imgtool/main.cpp b/src/tools/imgtool/main.cpp index 360f015b233..a0a9be24054 100644 --- a/src/tools/imgtool/main.cpp +++ b/src/tools/imgtool/main.cpp @@ -97,7 +97,7 @@ static int parse_options(int argc, char *argv[], int minunnamed, int maxunnamed, if (*fork) goto optionalreadyspecified; - snprintf(buf, ARRAY_LENGTH(buf), "%s", value); + snprintf(buf, std::size(buf), "%s", value); *fork = buf; } else @@ -564,7 +564,7 @@ static int cmd_identify(const struct command *c, int argc, char *argv[]) imgtoolerr_t err; int i; - err = imgtool::image::identify_file(argv[0], modules, ARRAY_LENGTH(modules)); + err = imgtool::image::identify_file(argv[0], modules, std::size(modules)); if (err) { reporterror(err, c, nullptr, argv[0], nullptr, nullptr, nullptr); @@ -895,7 +895,7 @@ int main(int argc, char *argv[]) if (argc > 1) { /* figure out what command they are running, and run it */ - for (i = 0; i < ARRAY_LENGTH(cmds); i++) + for (i = 0; i < std::size(cmds); i++) { c = &cmds[i]; if (!core_stricmp(c->name, argv[1])) @@ -934,7 +934,7 @@ int main(int argc, char *argv[]) // Usage util::stream_format(std::wcerr, L"imgtool - Generic image manipulation tool for use with MAME\n\n"); - for (i = 0; i < ARRAY_LENGTH(cmds); i++) + for (i = 0; i < std::size(cmds); i++) { writeusage(std::wcerr, (i == 0), &cmds[i], argv); } diff --git a/src/tools/imgtool/modules.cpp b/src/tools/imgtool/modules.cpp index 38c94d3eb35..a42ea6be6f0 100644 --- a/src/tools/imgtool/modules.cpp +++ b/src/tools/imgtool/modules.cpp @@ -29,8 +29,6 @@ static void (*const modules[])(const imgtool_class *imgclass, uint32_t state, un /* step 3: declare imgtool_create_canonical_library() */ imgtoolerr_t imgtool_create_canonical_library(bool omit_untested, std::unique_ptr<imgtool::library> &library) { - size_t i; - /* list of modules that we drop */ static const char *const irrelevant_modules[] = { @@ -42,14 +40,12 @@ imgtoolerr_t imgtool_create_canonical_library(bool omit_untested, std::unique_pt return IMGTOOLERR_OUTOFMEMORY; // create all modules - for (i = 0; i < ARRAY_LENGTH(modules); i++) - library->add(modules[i]); + for (auto &module : modules) + library->add(module); // remove irrelevant modules - for (i = 0; i < ARRAY_LENGTH(irrelevant_modules); i++) - { - library->unlink(irrelevant_modules[i]); - } + for (auto &module : irrelevant_modules) + library->unlink(module); // if we are omitting untested, go through and block out the functionality in question if (omit_untested) diff --git a/src/tools/imgtool/modules/bml3.cpp b/src/tools/imgtool/modules/bml3.cpp index 19c60570acc..579a1e6d137 100644 --- a/src/tools/imgtool/modules/bml3.cpp +++ b/src/tools/imgtool/modules/bml3.cpp @@ -604,8 +604,8 @@ eof: get_dirent_fname(fname, &rsent); - snprintf(ent.filename, ARRAY_LENGTH(ent.filename), "%s", fname); - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%d %c", (int) rsent.ftype, (char) (rsent.asciiflag + 'B')); + snprintf(ent.filename, std::size(ent.filename), "%s", fname); + snprintf(ent.attr, std::size(ent.attr), "%d %c", (int) rsent.ftype, (char) (rsent.asciiflag + 'B')); } return IMGTOOLERR_SUCCESS; } diff --git a/src/tools/imgtool/modules/concept.cpp b/src/tools/imgtool/modules/concept.cpp index 18b80c73c23..71417b5aafb 100644 --- a/src/tools/imgtool/modules/concept.cpp +++ b/src/tools/imgtool/modules/concept.cpp @@ -357,8 +357,8 @@ static imgtoolerr_t concept_image_nextenum(imgtool::directory &enumeration, imgt int len = iter->image->dev_dir.file_dir[iter->index].filename[0]; const char *type; - if (len > ARRAY_LENGTH(ent.filename)) - len = ARRAY_LENGTH(ent.filename); + if (len > std::size(ent.filename)) + len = std::size(ent.filename); memcpy(ent.filename, iter->image->dev_dir.file_dir[iter->index].filename + 1, len); ent.filename[len] = 0; @@ -382,7 +382,7 @@ static imgtoolerr_t concept_image_nextenum(imgtool::directory &enumeration, imgt type = "???"; break; } - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%s", type); + snprintf(ent.attr, std::size(ent.attr), "%s", type); /* len in physrecs */ ent.filesize = get_UINT16xE(iter->image->dev_dir.vol_hdr.disk_flipped, iter->image->dev_dir.file_dir[iter->index].next_block) diff --git a/src/tools/imgtool/modules/dgndos.cpp b/src/tools/imgtool/modules/dgndos.cpp index a6ad25c3d5d..9542cc648c6 100644 --- a/src/tools/imgtool/modules/dgndos.cpp +++ b/src/tools/imgtool/modules/dgndos.cpp @@ -539,8 +539,8 @@ static imgtoolerr_t dgndos_diskimage_nextenum(imgtool::directory &enumeration, i err = dgndos_count_dirents(entire_track20, dgnent, &dir_ent_count); if (err) return err; - snprintf(ent.filename, ARRAY_LENGTH(ent.filename), "%s", fname.c_str()); - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%c (%03d)", + snprintf(ent.filename, std::size(ent.filename), "%s", fname.c_str()); + snprintf(ent.attr, std::size(ent.attr), "%c (%03d)", (char) (dgnent.flag_byte & DGNDOS_PROTECT_BIT ? 'P' : '.'), dir_ent_count); } diff --git a/src/tools/imgtool/modules/fat.cpp b/src/tools/imgtool/modules/fat.cpp index 68110275e07..dba4b7cc03e 100644 --- a/src/tools/imgtool/modules/fat.cpp +++ b/src/tools/imgtool/modules/fat.cpp @@ -1326,11 +1326,11 @@ static imgtoolerr_t fat_read_dirent(imgtool::partition &partition, fat_file *fil lfn_checksum = entry[13]; } lfn_lastentry = entry[0] & 0x3F; - prepend_lfn_bytes(lfn_buf, ARRAY_LENGTH(lfn_buf), + prepend_lfn_bytes(lfn_buf, std::size(lfn_buf), &lfn_len, entry, 28, 2); - prepend_lfn_bytes(lfn_buf, ARRAY_LENGTH(lfn_buf), + prepend_lfn_bytes(lfn_buf, std::size(lfn_buf), &lfn_len, entry, 14, 6); - prepend_lfn_bytes(lfn_buf, ARRAY_LENGTH(lfn_buf), + prepend_lfn_bytes(lfn_buf, std::size(lfn_buf), &lfn_len, entry, 1, 5); } else if (freeent && (freeent->position == ~0)) @@ -1372,8 +1372,8 @@ static imgtoolerr_t fat_read_dirent(imgtool::partition &partition, fat_file *fil j = 0; do { - i += uchar_from_utf16(&ch, &lfn_buf[i], ARRAY_LENGTH(lfn_buf) - i); - j += utf8_from_uchar(&ent.long_filename[j], ARRAY_LENGTH(ent.long_filename) - j, ch); + i += uchar_from_utf16(&ch, &lfn_buf[i], std::size(lfn_buf) - i); + j += utf8_from_uchar(&ent.long_filename[j], std::size(ent.long_filename) - j, ch); } while(ch != 0); } @@ -1834,7 +1834,7 @@ static imgtoolerr_t fat_partition_nextenum(imgtool::directory &enumeration, imgt return err; /* copy stuff from the FAT dirent to the Imgtool dirent */ - snprintf(ent.filename, ARRAY_LENGTH(ent.filename), "%s", fatent.long_filename[0] + snprintf(ent.filename, std::size(ent.filename), "%s", fatent.long_filename[0] ? fatent.long_filename : fatent.short_filename); ent.filesize = fatent.filesize; ent.directory = fatent.directory; diff --git a/src/tools/imgtool/modules/mac.cpp b/src/tools/imgtool/modules/mac.cpp index f7bc2ff118b..b6f0c076f37 100644 --- a/src/tools/imgtool/modules/mac.cpp +++ b/src/tools/imgtool/modules/mac.cpp @@ -5308,11 +5308,11 @@ static void mac_image_info(imgtool::image &img, std::ostream &stream) switch (image->format) { case L2I_MFS: - mac_to_c_strncpy(buffer, ARRAY_LENGTH(buffer), image->u.mfs.volname); + mac_to_c_strncpy(buffer, std::size(buffer), image->u.mfs.volname); break; case L2I_HFS: - mac_to_c_strncpy(buffer, ARRAY_LENGTH(buffer), image->u.hfs.volname); + mac_to_c_strncpy(buffer, std::size(buffer), image->u.hfs.volname); break; } @@ -5397,7 +5397,7 @@ static imgtoolerr_t mfs_image_nextenum(mac_iterator *iter, imgtool_dirent &ent) } /* copy info */ - mac_to_c_strncpy(ent.filename, ARRAY_LENGTH(ent.filename), cur_dir_entry->name); + mac_to_c_strncpy(ent.filename, std::size(ent.filename), cur_dir_entry->name); ent.filesize = get_UINT32BE(cur_dir_entry->dataPhysicalSize) + get_UINT32BE(cur_dir_entry->rsrcPhysicalSize); @@ -5489,7 +5489,7 @@ static imgtoolerr_t hfs_image_nextenum(mac_iterator *iter, imgtool_dirent &ent) } /* initialize file path buffer */ - cur_name_head = ARRAY_LENGTH(ent.filename); + cur_name_head = std::size(ent.filename); if (cur_name_head > 0) { cur_name_head--; @@ -5497,8 +5497,8 @@ static imgtoolerr_t hfs_image_nextenum(mac_iterator *iter, imgtool_dirent &ent) } /* insert folder/file name in buffer */ - mac_to_c_strncpy(ent.filename, ARRAY_LENGTH(ent.filename), catrec_key->cName); -// concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename) - 1, buf); + mac_to_c_strncpy(ent.filename, std::size(ent.filename), catrec_key->cName); +// concat_fname(ent.filename, &cur_name_head, std::size(ent.filename) - 1, buf); #if 0 /* extract parent directory ID */ @@ -5513,10 +5513,10 @@ static imgtoolerr_t hfs_image_nextenum(mac_iterator *iter, imgtool_dirent &ent) if (err) { /* error */ - concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename) - 1, ":"); - concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename) - 1, "???"); + concat_fname(ent.filename, &cur_name_head, std::size(ent.filename) - 1, ":"); + concat_fname(ent.filename, &cur_name_head, std::size(ent.filename) - 1, "???"); - memmove(ent.filename, ent.filename+cur_name_head, ARRAY_LENGTH(ent.filename) - cur_name_head); + memmove(ent.filename, ent.filename+cur_name_head, std::size(ent.filename) - cur_name_head); ent.corrupt = 1; return err; } @@ -5526,10 +5526,10 @@ static imgtoolerr_t hfs_image_nextenum(mac_iterator *iter, imgtool_dirent &ent) if (dataRecType != hcrt_FolderThread) { /* error */ - concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename)-1, ":"); - concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename)-1, "???"); + concat_fname(ent.filename, &cur_name_head, std::size(ent.filename)-1, ":"); + concat_fname(ent.filename, &cur_name_head, std::size(ent.filename)-1, "???"); - memmove(ent.filename, ent.filename+cur_name_head, ARRAY_LENGTH(ent.filename)-cur_name_head); + memmove(ent.filename, ent.filename+cur_name_head, std::size(ent.filename)-cur_name_head); ent.corrupt = 1; return IMGTOOLERR_CORRUPTIMAGE; } @@ -5537,13 +5537,13 @@ static imgtoolerr_t hfs_image_nextenum(mac_iterator *iter, imgtool_dirent &ent) /* got folder thread record: insert the folder name at the start of file path, then iterate */ mac_to_c_strncpy(buf, sizeof(buf), catrec_data->thread.nodeName); - concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename) - 1, ":"); - concat_fname(ent.filename, &cur_name_head, ARRAY_LENGTH(ent.filename) - 1, buf); + concat_fname(ent.filename, &cur_name_head, std::size(ent.filename) - 1, ":"); + concat_fname(ent.filename, &cur_name_head, std::size(ent.filename) - 1, buf); /* extract parent directory ID */ parID = get_UINT32BE(catrec_data->thread.parID); } - memmove(ent.filename, ent.filename+cur_name_head, ARRAY_LENGTH(ent.filename) -cur_name_head); + memmove(ent.filename, ent.filename+cur_name_head, std::size(ent.filename) -cur_name_head); #endif return IMGTOOLERR_SUCCESS; } @@ -6185,8 +6185,8 @@ static imgtoolerr_t mac_image_geticoninfo(imgtool::partition &partition, const c const void *fref; uint32_t resource_length; - assert((ARRAY_LENGTH(attrs) - 1) - == ARRAY_LENGTH(attr_values)); + assert((std::size(attrs) - 1) + == std::size(attr_values)); /* first retrieve type and creator code */ err = mac_image_getattrs(partition, path, attrs, attr_values); diff --git a/src/tools/imgtool/modules/os9.cpp b/src/tools/imgtool/modules/os9.cpp index 539b53c1818..69dfc0e6ad1 100644 --- a/src/tools/imgtool/modules/os9.cpp +++ b/src/tools/imgtool/modules/os9.cpp @@ -275,7 +275,7 @@ static imgtoolerr_t os9_decode_file_header(imgtool::image &image, /* read all sector map entries */ max_entries = (disk_info->sector_size - 16) / 5; - max_entries = (std::min<std::size_t>)(max_entries, ARRAY_LENGTH(info->sector_map) - 1); + max_entries = (std::min<std::size_t>)(max_entries, std::size(info->sector_map) - 1); for (i = 0; i < max_entries; i++) { lsn = pick_integer_be(header, 16 + (i * 5) + 0, 3); @@ -393,7 +393,7 @@ static imgtoolerr_t os9_set_file_size(imgtool::image &image, /* first find out the size of our sector map */ sector_map_length = 0; lsn = 0; - while((lsn < current_lsn_count) && (sector_map_length < ARRAY_LENGTH(file_info->sector_map))) + while((lsn < current_lsn_count) && (sector_map_length < std::size(file_info->sector_map))) { if (file_info->sector_map[sector_map_length].count == 0) return os9_corrupt_file_error(file_info); @@ -434,7 +434,7 @@ static imgtoolerr_t os9_set_file_size(imgtool::image &image, { file_info->sector_map[sector_map_length - 1].count++; } - else if (sector_map_length >= ARRAY_LENGTH(file_info->sector_map)) + else if (sector_map_length >= std::size(file_info->sector_map)) { return IMGTOOLERR_NOSPACE; } @@ -461,7 +461,7 @@ static imgtoolerr_t os9_set_file_size(imgtool::image &image, /* do we have to write the sector map? */ if (sector_map_length >= 0) { - for (i = 0; i < (std::min<std::size_t>)(sector_map_length + 1, ARRAY_LENGTH(file_info->sector_map)); i++) + for (i = 0; i < (std::min<std::size_t>)(sector_map_length + 1, std::size(file_info->sector_map)); i++) { place_integer_be(header, 16 + (i * 5) + 0, 3, file_info->sector_map[i].lsn); place_integer_be(header, 16 + (i * 5) + 3, 2, file_info->sector_map[i].count); @@ -952,8 +952,8 @@ static imgtoolerr_t os9_diskimage_nextenum(imgtool::directory &enumeration, imgt return err; /* fill out imgtool_dirent structure */ - snprintf(ent.filename, ARRAY_LENGTH(ent.filename), "%s", filename); - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%c%c%c%c%c%c%c%c", + snprintf(ent.filename, std::size(ent.filename), "%s", filename); + snprintf(ent.attr, std::size(ent.attr), "%c%c%c%c%c%c%c%c", file_info.directory ? 'd' : '-', file_info.non_sharable ? 's' : '-', file_info.public_execute ? 'x' : '-', @@ -1143,7 +1143,7 @@ static imgtoolerr_t os9_diskimage_delete(imgtool::partition &partition, const ch if (err) return err; - for (i = 0; (i < ARRAY_LENGTH(file_info.sector_map)) && file_info.sector_map[i].count; i++) + for (i = 0; (i < std::size(file_info.sector_map)) && file_info.sector_map[i].count; i++) { lsn = file_info.sector_map[i].lsn; for (j = 0; j < file_info.sector_map[i].count; j++) diff --git a/src/tools/imgtool/modules/pc_hard.cpp b/src/tools/imgtool/modules/pc_hard.cpp index c04ad33cce6..57e88d6c2a4 100644 --- a/src/tools/imgtool/modules/pc_hard.cpp +++ b/src/tools/imgtool/modules/pc_hard.cpp @@ -193,7 +193,6 @@ done: static imgtoolerr_t pc_chd_read_partition_header(imgtool::image &image) { imgtoolerr_t err; - int i; const uint8_t *partition_info; pc_chd_image_info *info; uint8_t buffer[FAT_SECLEN]; @@ -209,7 +208,7 @@ static imgtoolerr_t pc_chd_read_partition_header(imgtool::image &image) if ((buffer[510] != 0x55) || (buffer[511] != 0xAA)) return IMGTOOLERR_CORRUPTIMAGE; - for (i = 0; i < ARRAY_LENGTH(info->partitions); i++) + for (int i = 0; i < std::size(info->partitions); i++) { partition_info = &buffer[446 + i * 16]; diff --git a/src/tools/imgtool/modules/prodos.cpp b/src/tools/imgtool/modules/prodos.cpp index 6db41ae529b..2bce71da781 100644 --- a/src/tools/imgtool/modules/prodos.cpp +++ b/src/tools/imgtool/modules/prodos.cpp @@ -1183,7 +1183,7 @@ static imgtoolerr_t prodos_lookup_path(imgtool::image &image, const char *path, ent->key_pointer[0] = new_file_block; ent->file_type = 0x3F3F3F3F; ent->file_creator = 0x3F3F3F3F; - strncpy(ent->filename, old_path, ARRAY_LENGTH(ent->filename)); + strncpy(ent->filename, old_path, std::size(ent->filename)); /* and place it */ err = prodos_put_dirent(image, direnum, ent); diff --git a/src/tools/imgtool/modules/rsdos.cpp b/src/tools/imgtool/modules/rsdos.cpp index 86d29679d3b..f1ae197c03b 100644 --- a/src/tools/imgtool/modules/rsdos.cpp +++ b/src/tools/imgtool/modules/rsdos.cpp @@ -340,8 +340,8 @@ eof: std::string fname = get_dirent_fname(rsent); - snprintf(ent.filename, ARRAY_LENGTH(ent.filename), "%s", fname.c_str()); - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%d %c", (int) rsent.ftype, (char) (rsent.asciiflag + 'B')); + snprintf(ent.filename, std::size(ent.filename), "%s", fname.c_str()); + snprintf(ent.attr, std::size(ent.attr), "%d %c", (int) rsent.ftype, (char) (rsent.asciiflag + 'B')); } return IMGTOOLERR_SUCCESS; } diff --git a/src/tools/imgtool/modules/thomson.cpp b/src/tools/imgtool/modules/thomson.cpp index 2acb03d8b01..131fd422c17 100644 --- a/src/tools/imgtool/modules/thomson.cpp +++ b/src/tools/imgtool/modules/thomson.cpp @@ -1740,7 +1740,7 @@ static imgtoolerr_t thom_basic_write_file(imgtool::partition &partition, if ((c == '\r') || (c == '\n')) break; - if (pos <= ARRAY_LENGTH(buf) - 1) + if (pos <= std::size(buf) - 1) { buf[pos++] = c; } diff --git a/src/tools/imgtool/modules/ti99.cpp b/src/tools/imgtool/modules/ti99.cpp index 2e55c85f082..bc1968976d0 100644 --- a/src/tools/imgtool/modules/ti99.cpp +++ b/src/tools/imgtool/modules/ti99.cpp @@ -1837,7 +1837,7 @@ static int dsk_read_catalog(struct ti99_lvl2_imgref *l2_img, int aphysrec, ti99_ || ((dest->files[i].fdr_ptr && dest->files[i+1].fdr_ptr) && (memcmp(dest->files[i].name, dest->files[i+1].name, 10) >= 0))) { /* if the catalog is not sorted, we repair it */ - qsort(dest->files, ARRAY_LENGTH(dest->files), sizeof(dest->files[0]), + qsort(dest->files, std::size(dest->files), sizeof(dest->files[0]), cat_file_compare_qsort); break; } @@ -4275,10 +4275,10 @@ static imgtoolerr_t dsk_image_nextenum(imgtool::directory &enumeration, imgtool_ { if (iter->listing_subdirs) { - fname_to_str(ent.filename, iter->image->dsk.catalogs[0].subdirs[iter->index[iter->level]].name, ARRAY_LENGTH(ent.filename)); + fname_to_str(ent.filename, iter->image->dsk.catalogs[0].subdirs[iter->index[iter->level]].name, std::size(ent.filename)); /* set type of DIR */ - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "DIR"); + snprintf(ent.attr, std::size(ent.attr), "DIR"); /* len in physrecs */ /* @BN@ return length in bytes */ @@ -4299,7 +4299,7 @@ static imgtoolerr_t dsk_image_nextenum(imgtool::directory &enumeration, imgtool_ if (reply) return IMGTOOLERR_READERROR; #if 0 - fname_to_str(ent.filename, fdr.name, ARRAY_LENGTH(ent.filename)); + fname_to_str(ent.filename, fdr.name, std::size(ent.filename)); #else { char buf[11]; @@ -4307,19 +4307,19 @@ static imgtoolerr_t dsk_image_nextenum(imgtool::directory &enumeration, imgtool_ ent.filename[0] = '\0'; if (iter->level) { - fname_to_str(ent.filename, iter->image->dsk.catalogs[0].subdirs[iter->index[0]].name, ARRAY_LENGTH(ent.filename)); - strncat(ent.filename, ".", ARRAY_LENGTH(ent.filename) - 1); + fname_to_str(ent.filename, iter->image->dsk.catalogs[0].subdirs[iter->index[0]].name, std::size(ent.filename)); + strncat(ent.filename, ".", std::size(ent.filename) - 1); } fname_to_str(buf, fdr.name, 11); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); } #endif /* parse flags */ if (fdr.flags & fdr99_f_program) - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "PGM%s", + snprintf(ent.attr, std::size(ent.attr), "PGM%s", (fdr.flags & fdr99_f_wp) ? " R/O" : ""); else - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%c/%c %d%s", + snprintf(ent.attr, std::size(ent.attr), "%c/%c %d%s", (fdr.flags & fdr99_f_int) ? 'I' : 'D', (fdr.flags & fdr99_f_var) ? 'V' : 'F', fdr.reclen, @@ -4399,7 +4399,7 @@ static imgtoolerr_t win_image_nextenum(imgtool::directory &enumeration, imgtool_ if (iter->listing_subdirs) { #if 0 - fname_to_str(ent.filename, iter->catalog[iter->level].subdirs[iter->index[iter->level]].name, ARRAY_LENGTH(ent.filename)); + fname_to_str(ent.filename, iter->catalog[iter->level].subdirs[iter->index[iter->level]].name, std::size(ent.filename)); #else { char buf[11]; @@ -4408,16 +4408,16 @@ static imgtoolerr_t win_image_nextenum(imgtool::directory &enumeration, imgtool_ for (i=0; i<iter->level; i++) { fname_to_str(buf, iter->catalog[i].subdirs[iter->index[i]].name, 11); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); - strncat(ent.filename, ".", ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); + strncat(ent.filename, ".", std::size(ent.filename) - 1); } fname_to_str(buf, iter->catalog[iter->level].subdirs[iter->index[iter->level]].name, 11); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); } #endif /* set type of DIR */ - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "DIR"); + snprintf(ent.attr, std::size(ent.attr), "DIR"); /* len in physrecs */ /* @BN@ return length in bytes */ @@ -4442,7 +4442,7 @@ static imgtoolerr_t win_image_nextenum(imgtool::directory &enumeration, imgtool_ if (reply) return IMGTOOLERR_READERROR; #if 0 - fname_to_str(ent.filename, iter->catalog[iter->level].files[iter->index[iter->level]].name, ARRAY_LENGTH(ent.filename)); + fname_to_str(ent.filename, iter->catalog[iter->level].files[iter->index[iter->level]].name, std::size(ent.filename)); #else { char buf[11]; @@ -4451,19 +4451,19 @@ static imgtoolerr_t win_image_nextenum(imgtool::directory &enumeration, imgtool_ for (i=0; i<iter->level; i++) { fname_to_str(buf, iter->catalog[i].subdirs[iter->index[i]].name, 11); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); - strncat(ent.filename, ".", ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); + strncat(ent.filename, ".", std::size(ent.filename) - 1); } fname_to_str(buf, iter->catalog[iter->level].files[iter->index[iter->level]].name, 11); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); } #endif /* parse flags */ if (fdr.flags & fdr99_f_program) - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "PGM%s", + snprintf(ent.attr, std::size(ent.attr), "PGM%s", (fdr.flags & fdr99_f_wp) ? " R/O" : ""); else - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%c/%c %d%s", + snprintf(ent.attr, std::size(ent.attr), "%c/%c %d%s", (fdr.flags & fdr99_f_int) ? 'I' : 'D', (fdr.flags & fdr99_f_var) ? 'V' : 'F', fdr.reclen, diff --git a/src/tools/imgtool/modules/ti990hd.cpp b/src/tools/imgtool/modules/ti990hd.cpp index 9bf77fa6a6c..7bf610b3260 100644 --- a/src/tools/imgtool/modules/ti990hd.cpp +++ b/src/tools/imgtool/modules/ti990hd.cpp @@ -1250,7 +1250,7 @@ static imgtoolerr_t ti990_image_nextenum(imgtool::directory &enumeration, imgtoo else { #if 0 - fname_to_str(ent.filename, iter->xdr[iter->level].fdr.fnm, ARRAY_LENGTH(ent.filename)); + fname_to_str(ent.filename, iter->xdr[iter->level].fdr.fnm, std::size(ent.filename)); #else { int i; @@ -1260,11 +1260,11 @@ static imgtoolerr_t ti990_image_nextenum(imgtool::directory &enumeration, imgtoo for (i=0; i<iter->level; i++) { fname_to_str(buf, iter->xdr[i].fdr.fnm, 9); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); - strncat(ent.filename, ".", ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); + strncat(ent.filename, ".", std::size(ent.filename) - 1); } fname_to_str(buf, iter->xdr[iter->level].fdr.fnm, 9); - strncat(ent.filename, buf, ARRAY_LENGTH(ent.filename) - 1); + strncat(ent.filename, buf, std::size(ent.filename) - 1); } #endif @@ -1272,7 +1272,7 @@ static imgtoolerr_t ti990_image_nextenum(imgtool::directory &enumeration, imgtoo flag = get_UINT16BE(iter->xdr[iter->level].fdr.flg); if (flag & fdr_flg_cdr) { - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "CHANNEL"); + snprintf(ent.attr, std::size(ent.attr), "CHANNEL"); ent.filesize = 0; } @@ -1290,7 +1290,7 @@ static imgtoolerr_t ti990_image_nextenum(imgtool::directory &enumeration, imgtoo fname_to_str(buf, target_fdr.fnm, 9); - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "ALIAS OF %s", buf); + snprintf(ent.attr, std::size(ent.attr), "ALIAS OF %s", buf); ent.filesize = 0; } @@ -1340,7 +1340,7 @@ static imgtoolerr_t ti990_image_nextenum(imgtool::directory &enumeration, imgtoo } break; } - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), + snprintf(ent.attr, std::size(ent.attr), "%s %c %s%s%s%s%s", fmt, (flag & fdr_flg_all) ? 'N' : 'C', type, (flag & fdr_flg_blb) ? "" : " BLK", (flag & fdr_flg_tmp) ? " TMP" : "", diff --git a/src/tools/imgtool/modules/vzdos.cpp b/src/tools/imgtool/modules/vzdos.cpp index 748be97362d..4ccbc801253 100644 --- a/src/tools/imgtool/modules/vzdos.cpp +++ b/src/tools/imgtool/modules/vzdos.cpp @@ -453,7 +453,7 @@ static imgtoolerr_t vzdos_diskimage_nextenum(imgtool::directory &enumeration, im default: type = "Unknown"; } - snprintf(ent.attr, ARRAY_LENGTH(ent.attr), "%s", type); + snprintf(ent.attr, std::size(ent.attr), "%s", type); iter->index++; } diff --git a/src/tools/jedutil.cpp b/src/tools/jedutil.cpp index 0c27c1b4480..34938561215 100644 --- a/src/tools/jedutil.cpp +++ b/src/tools/jedutil.cpp @@ -135,6 +135,7 @@ ***************************************************************************/ +#include <cstdint> #include <cstdio> #include <cstdlib> #include <cstring> @@ -145,7 +146,6 @@ #include "corestr.h" #include "jedparse.h" -#include "osdcomm.h" #include "plaparse.h" @@ -2131,93 +2131,93 @@ static pin_fuse_columns _82s100_pls100_pinfusecolumns[] = { static pal_data paldata[] = { {"PAL10L8", 320, - pal10l8pinfuserows, ARRAY_LENGTH(pal10l8pinfuserows), - pal10l8pinfusecolumns, ARRAY_LENGTH(pal10l8pinfusecolumns), + pal10l8pinfuserows, std::size(pal10l8pinfuserows), + pal10l8pinfusecolumns, std::size(pal10l8pinfusecolumns), print_pal10l8_product_terms, config_pal10l8_pins, nullptr, nullptr}, {"PAL10H8", 320, - pal10h8pinfuserows, ARRAY_LENGTH(pal10h8pinfuserows), - pal10h8pinfusecolumns, ARRAY_LENGTH(pal10h8pinfusecolumns), + pal10h8pinfuserows, std::size(pal10h8pinfuserows), + pal10h8pinfusecolumns, std::size(pal10h8pinfusecolumns), print_pal10h8_product_terms, config_pal10h8_pins, nullptr, nullptr}, {"PAL12H6", 384, - pal12h6pinfuserows, ARRAY_LENGTH(pal12h6pinfuserows), - pal12h6pinfusecolumns, ARRAY_LENGTH(pal12h6pinfusecolumns), + pal12h6pinfuserows, std::size(pal12h6pinfuserows), + pal12h6pinfusecolumns, std::size(pal12h6pinfusecolumns), print_pal12h6_product_terms, config_pal12h6_pins, nullptr, nullptr}, {"PAL14H4", 448, - pal14h4pinfuserows, ARRAY_LENGTH(pal14h4pinfuserows), - pal14h4pinfusecolumns, ARRAY_LENGTH(pal14h4pinfusecolumns), + pal14h4pinfuserows, std::size(pal14h4pinfuserows), + pal14h4pinfusecolumns, std::size(pal14h4pinfusecolumns), print_pal14h4_product_terms, config_pal14h4_pins, nullptr, nullptr}, {"PAL16H2", 512, - pal16h2pinfuserows, ARRAY_LENGTH(pal16h2pinfuserows), - pal16h2pinfusecolumns, ARRAY_LENGTH(pal16h2pinfusecolumns), + pal16h2pinfuserows, std::size(pal16h2pinfuserows), + pal16h2pinfusecolumns, std::size(pal16h2pinfusecolumns), print_pal16h2_product_terms, config_pal16h2_pins, nullptr, nullptr}, {"PAL16C1", 512, - pal16c1pinfuserows, ARRAY_LENGTH(pal16c1pinfuserows), - pal16c1pinfusecolumns, ARRAY_LENGTH(pal16c1pinfusecolumns), + pal16c1pinfuserows, std::size(pal16c1pinfuserows), + pal16c1pinfusecolumns, std::size(pal16c1pinfusecolumns), print_pal16c1_product_terms, config_pal16c1_pins, nullptr, nullptr}, {"PAL12L6", 384, - pal12l6pinfuserows, ARRAY_LENGTH(pal12l6pinfuserows), - pal12l6pinfusecolumns, ARRAY_LENGTH(pal12l6pinfusecolumns), + pal12l6pinfuserows, std::size(pal12l6pinfuserows), + pal12l6pinfusecolumns, std::size(pal12l6pinfusecolumns), print_pal12l6_product_terms, config_pal12l6_pins, nullptr, nullptr}, {"PAL14L4", 448, - pal14l4pinfuserows, ARRAY_LENGTH(pal14l4pinfuserows), - pal14l4pinfusecolumns, ARRAY_LENGTH(pal14l4pinfusecolumns), + pal14l4pinfuserows, std::size(pal14l4pinfuserows), + pal14l4pinfusecolumns, std::size(pal14l4pinfusecolumns), print_pal14l4_product_terms, config_pal14l4_pins, nullptr, nullptr}, {"PAL16L2", 512, - pal16l2pinfuserows, ARRAY_LENGTH(pal16l2pinfuserows), - pal16l2pinfusecolumns, ARRAY_LENGTH(pal16l2pinfusecolumns), + pal16l2pinfuserows, std::size(pal16l2pinfuserows), + pal16l2pinfusecolumns, std::size(pal16l2pinfusecolumns), print_pal16l2_product_terms, config_pal16l2_pins, nullptr, nullptr}, /*{"15S8", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ {"PAL16L8", 2048, - pal16l8pinfuserows, ARRAY_LENGTH(pal16l8pinfuserows), - pal16l8pinfusecolumns, ARRAY_LENGTH(pal16l8pinfusecolumns), + pal16l8pinfuserows, std::size(pal16l8pinfuserows), + pal16l8pinfusecolumns, std::size(pal16l8pinfusecolumns), print_pal16l8_product_terms, config_pal16l8_pins, nullptr, nullptr}, {"PAL16R4", 2048, - pal16r4pinfuserows, ARRAY_LENGTH(pal16r4pinfuserows), - pal16r4pinfusecolumns, ARRAY_LENGTH(pal16r4pinfusecolumns), + pal16r4pinfuserows, std::size(pal16r4pinfuserows), + pal16r4pinfusecolumns, std::size(pal16r4pinfusecolumns), print_pal16r4_product_terms, config_pal16r4_pins, nullptr, nullptr}, {"PAL16R6", 2048, - pal16r6pinfuserows, ARRAY_LENGTH(pal16r6pinfuserows), - pal16r6pinfusecolumns, ARRAY_LENGTH(pal16r6pinfusecolumns), + pal16r6pinfuserows, std::size(pal16r6pinfuserows), + pal16r6pinfusecolumns, std::size(pal16r6pinfusecolumns), print_pal16r6_product_terms, config_pal16r6_pins, nullptr, nullptr}, {"PAL16R8", 2048, - pal16r8pinfuserows, ARRAY_LENGTH(pal16r8pinfuserows), - pal16r8pinfusecolumns, ARRAY_LENGTH(pal16r8pinfusecolumns), + pal16r8pinfuserows, std::size(pal16r8pinfuserows), + pal16r8pinfusecolumns, std::size(pal16r8pinfusecolumns), print_pal16r8_product_terms, config_pal16r8_pins, nullptr, @@ -2225,416 +2225,416 @@ static pal_data paldata[] = { /*{"PAL16RA8", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL}, {"PAL16V8R", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ // PAL16V8 same fusemap as GAL16V8? {"PALCE16V8", 2194, - gal16v8pinfuserows, ARRAY_LENGTH(gal16v8pinfuserows), - gal16v8pinfusecolumns, ARRAY_LENGTH(gal16v8pinfusecolumns), + gal16v8pinfuserows, std::size(gal16v8pinfuserows), + gal16v8pinfusecolumns, std::size(gal16v8pinfusecolumns), print_gal16v8_product_terms, config_gal16v8_pins, nullptr, nullptr}, {"GAL16V8", 2194, - gal16v8pinfuserows, ARRAY_LENGTH(gal16v8pinfuserows), - gal16v8pinfusecolumns, ARRAY_LENGTH(gal16v8pinfusecolumns), + gal16v8pinfuserows, std::size(gal16v8pinfuserows), + gal16v8pinfusecolumns, std::size(gal16v8pinfusecolumns), print_gal16v8_product_terms, config_gal16v8_pins, is_gal16v8_product_term_enabled, nullptr}, {"ATF16V8", 2194, - gal16v8pinfuserows, ARRAY_LENGTH(gal16v8pinfuserows), - gal16v8pinfusecolumns, ARRAY_LENGTH(gal16v8pinfusecolumns), + gal16v8pinfuserows, std::size(gal16v8pinfuserows), + gal16v8pinfusecolumns, std::size(gal16v8pinfusecolumns), print_gal16v8_product_terms, config_gal16v8_pins, is_gal16v8_product_term_enabled, nullptr}, {"18CV8", 2696, - peel18cv8pinfuserows, ARRAY_LENGTH(peel18cv8pinfuserows), - peel18cv8pinfusecolumns, ARRAY_LENGTH(peel18cv8pinfusecolumns), + peel18cv8pinfuserows, std::size(peel18cv8pinfuserows), + peel18cv8pinfusecolumns, std::size(peel18cv8pinfusecolumns), print_peel18cv8_product_terms, config_peel18cv8_pins, nullptr, get_peel18cv8_pin_fuse_state}, {"AMPAL18P8", 2600, - ampal18p8pinfuserows, ARRAY_LENGTH(ampal18p8pinfuserows), - ampal18p8pinfusecolumns, ARRAY_LENGTH(ampal18p8pinfusecolumns), + ampal18p8pinfuserows, std::size(ampal18p8pinfuserows), + ampal18p8pinfusecolumns, std::size(ampal18p8pinfusecolumns), print_ampal18p8_product_terms, config_ampal18p8_pins, nullptr, nullptr}, {"GAL18V10", 3540, - gal18v10pinfuserows, ARRAY_LENGTH(gal18v10pinfuserows), - gal18v10pinfusecolumns, ARRAY_LENGTH(gal18v10pinfusecolumns), + gal18v10pinfuserows, std::size(gal18v10pinfuserows), + gal18v10pinfusecolumns, std::size(gal18v10pinfusecolumns), print_gal18v10_product_terms, config_gal18v10_pins, nullptr, nullptr}, {"PAL20L8", 2560, - pal20l8pinfuserows, ARRAY_LENGTH(pal20l8pinfuserows), - pal20l8pinfusecolumns, ARRAY_LENGTH(pal20l8pinfusecolumns), + pal20l8pinfuserows, std::size(pal20l8pinfuserows), + pal20l8pinfusecolumns, std::size(pal20l8pinfusecolumns), print_pal20l8_product_terms, config_pal20l8_pins, nullptr, nullptr}, {"PAL20L10", 1600, - pal20l10pinfuserows, ARRAY_LENGTH(pal20l10pinfuserows), - pal20l10pinfusecolumns, ARRAY_LENGTH(pal20l10pinfusecolumns), + pal20l10pinfuserows, std::size(pal20l10pinfuserows), + pal20l10pinfusecolumns, std::size(pal20l10pinfusecolumns), print_pal20l10_product_terms, config_pal20l10_pins, nullptr, nullptr}, {"PAL20R4", 2560, - pal20r4pinfuserows, ARRAY_LENGTH(pal20r4pinfuserows), - pal20r4pinfusecolumns, ARRAY_LENGTH(pal20r4pinfusecolumns), + pal20r4pinfuserows, std::size(pal20r4pinfuserows), + pal20r4pinfusecolumns, std::size(pal20r4pinfusecolumns), print_pal20r4_product_terms, config_pal20r4_pins, nullptr, nullptr}, {"PAL20R6", 2560, - pal20r6pinfuserows, ARRAY_LENGTH(pal20r6pinfuserows), - pal20r6pinfusecolumns, ARRAY_LENGTH(pal20r6pinfusecolumns), + pal20r6pinfuserows, std::size(pal20r6pinfuserows), + pal20r6pinfusecolumns, std::size(pal20r6pinfusecolumns), print_pal20r6_product_terms, config_pal20r6_pins, nullptr, nullptr}, {"PAL20R8", 2560, - pal20r8pinfuserows, ARRAY_LENGTH(pal20r8pinfuserows), - pal20r8pinfusecolumns, ARRAY_LENGTH(pal20r8pinfusecolumns), + pal20r8pinfuserows, std::size(pal20r8pinfuserows), + pal20r8pinfusecolumns, std::size(pal20r8pinfusecolumns), print_pal20r8_product_terms, config_pal20r8_pins, nullptr, nullptr}, {"PAL20RA10", 3210, - pal20ra10pinfuserows, ARRAY_LENGTH(pal20ra10pinfuserows), - pal20ra10pinfusecolumns, ARRAY_LENGTH(pal20ra10pinfusecolumns), + pal20ra10pinfuserows, std::size(pal20ra10pinfuserows), + pal20ra10pinfusecolumns, std::size(pal20ra10pinfusecolumns), print_pal20ra10_product_terms, config_pal20ra10_pins, nullptr, nullptr }, {"PAL20X4", 1600, - pal20x4pinfuserows, ARRAY_LENGTH(pal20x4pinfuserows), - pal20x4pinfusecolumns, ARRAY_LENGTH(pal20x4pinfusecolumns), + pal20x4pinfuserows, std::size(pal20x4pinfuserows), + pal20x4pinfusecolumns, std::size(pal20x4pinfusecolumns), print_pal20x4_product_terms, config_pal20x4_pins, nullptr, nullptr}, {"PAL20X8", 1600, - pal20x8pinfuserows, ARRAY_LENGTH(pal20x8pinfuserows), - pal20x8pinfusecolumns, ARRAY_LENGTH(pal20x8pinfusecolumns), + pal20x8pinfuserows, std::size(pal20x8pinfuserows), + pal20x8pinfusecolumns, std::size(pal20x8pinfusecolumns), print_pal20x8_product_terms, config_pal20x8_pins, nullptr, nullptr}, {"PAL20X10", 1600, - pal20x10pinfuserows, ARRAY_LENGTH(pal20x10pinfuserows), - pal20x10pinfusecolumns, ARRAY_LENGTH(pal20x10pinfusecolumns), + pal20x10pinfuserows, std::size(pal20x10pinfuserows), + pal20x10pinfusecolumns, std::size(pal20x10pinfusecolumns), print_pal20x10_product_terms, config_pal20x10_pins, nullptr, nullptr}, {"GAL20V8", 2706, - gal20v8pinfuserows, ARRAY_LENGTH(gal20v8pinfuserows), - gal20v8pinfusecolumns, ARRAY_LENGTH(gal20v8pinfusecolumns), + gal20v8pinfuserows, std::size(gal20v8pinfuserows), + gal20v8pinfusecolumns, std::size(gal20v8pinfusecolumns), print_gal20v8_product_terms, config_gal20v8_pins, is_gal20v8_product_term_enabled, nullptr}, {"PALCE20V8", 2706, - gal20v8pinfuserows, ARRAY_LENGTH(gal20v8pinfuserows), - gal20v8pinfusecolumns, ARRAY_LENGTH(gal20v8pinfusecolumns), + gal20v8pinfuserows, std::size(gal20v8pinfuserows), + gal20v8pinfusecolumns, std::size(gal20v8pinfusecolumns), print_gal20v8_product_terms, config_gal20v8_pins, is_gal20v8_product_term_enabled, nullptr}, {"ATF20V10", 2706, - gal20v8pinfuserows, ARRAY_LENGTH(gal20v8pinfuserows), - gal20v8pinfusecolumns, ARRAY_LENGTH(gal20v8pinfusecolumns), + gal20v8pinfuserows, std::size(gal20v8pinfuserows), + gal20v8pinfusecolumns, std::size(gal20v8pinfusecolumns), print_gal20v8_product_terms, config_gal20v8_pins, is_gal20v8_product_term_enabled, nullptr}, {"PAL22V10", 5828, - palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows), - palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns), + palce22v10_pal22v10pinfuserows, std::size(palce22v10_pal22v10pinfuserows), + palce22v10_pal22v10pinfusecolumns, std::size(palce22v10_pal22v10pinfusecolumns), print_palce22v10_pal22v10_product_terms, config_palce22v10_pal22v10_pins, nullptr, nullptr}, {"PALCE22V10", 5828, - palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows), - palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns), + palce22v10_pal22v10pinfuserows, std::size(palce22v10_pal22v10pinfuserows), + palce22v10_pal22v10pinfusecolumns, std::size(palce22v10_pal22v10pinfusecolumns), print_palce22v10_pal22v10_product_terms, config_palce22v10_pal22v10_pins, nullptr, nullptr}, {"ATF22V10", 5828, - palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows), - palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns), + palce22v10_pal22v10pinfuserows, std::size(palce22v10_pal22v10pinfuserows), + palce22v10_pal22v10pinfusecolumns, std::size(palce22v10_pal22v10pinfusecolumns), print_palce22v10_pal22v10_product_terms, config_palce22v10_pal22v10_pins, nullptr, nullptr}, {"GAL22V10", 5892, - gal22v10pinfuserows, ARRAY_LENGTH(gal22v10pinfuserows), - gal22v10pinfusecolumns, ARRAY_LENGTH(gal22v10pinfusecolumns), + gal22v10pinfuserows, std::size(gal22v10pinfuserows), + gal22v10pinfusecolumns, std::size(gal22v10pinfusecolumns), print_gal22v10_product_terms, config_gal22v10_pins, nullptr, nullptr}, {"ATF22V10", 5892, - gal22v10pinfuserows, ARRAY_LENGTH(gal22v10pinfuserows), - gal22v10pinfusecolumns, ARRAY_LENGTH(gal22v10pinfusecolumns), + gal22v10pinfuserows, std::size(gal22v10pinfuserows), + gal22v10pinfusecolumns, std::size(gal22v10pinfusecolumns), print_gal22v10_product_terms, config_gal22v10_pins, nullptr, nullptr}, {"ATF22V10", 5893, - atf22v10powerdownmodepinfuserows, ARRAY_LENGTH(atf22v10powerdownmodepinfuserows), - atf22v10powerdownmodepinfusecolumns, ARRAY_LENGTH(atf22v10powerdownmodepinfusecolumns), + atf22v10powerdownmodepinfuserows, std::size(atf22v10powerdownmodepinfuserows), + atf22v10powerdownmodepinfusecolumns, std::size(atf22v10powerdownmodepinfusecolumns), print_atf22v10_power_down_mode_product_terms, config_atf22v10_power_down_mode_pins, nullptr, nullptr}, {"82S153", 1842, - _82s153_pls153pinfuserows, ARRAY_LENGTH(_82s153_pls153pinfuserows), - _82s153_pls153pinfusecolumns, ARRAY_LENGTH(_82s153_pls153pinfusecolumns), + _82s153_pls153pinfuserows, std::size(_82s153_pls153pinfuserows), + _82s153_pls153pinfusecolumns, std::size(_82s153_pls153pinfusecolumns), print_82s153_pls153_product_terms, config_82s153_pls153_pins, nullptr, nullptr}, {"PLS153", 1842, - _82s153_pls153pinfuserows, ARRAY_LENGTH(_82s153_pls153pinfuserows), - _82s153_pls153pinfusecolumns, ARRAY_LENGTH(_82s153_pls153pinfusecolumns), + _82s153_pls153pinfuserows, std::size(_82s153_pls153pinfuserows), + _82s153_pls153pinfusecolumns, std::size(_82s153_pls153pinfusecolumns), print_82s153_pls153_product_terms, config_82s153_pls153_pins, nullptr, nullptr}, {"CK2605", 1106, - ck2605pinfuserows, ARRAY_LENGTH(ck2605pinfuserows), - ck2605pinfusecolumns, ARRAY_LENGTH(ck2605pinfusecolumns), + ck2605pinfuserows, std::size(ck2605pinfuserows), + ck2605pinfusecolumns, std::size(ck2605pinfusecolumns), print_ck2605_product_terms, config_ck2605_pins, nullptr, nullptr}, #if defined(ricoh_pals) {"EPL10P8", 664, - epl10p8pinfuserows, ARRAY_LENGTH(epl10p8pinfuserows), - epl10p8pinfusecolumns, ARRAY_LENGTH(epl10p8pinfusecolumns), + epl10p8pinfuserows, std::size(epl10p8pinfuserows), + epl10p8pinfusecolumns, std::size(epl10p8pinfusecolumns), print_epl10p8_product_terms, config_epl10p8_pins, nullptr, nullptr}, {"EPL12P6", 786, - epl12p6pinfuserows, ARRAY_LENGTH(epl12p6pinfuserows), - epl12p6pinfusecolumns, ARRAY_LENGTH(epl12p6pinfusecolumns), + epl12p6pinfuserows, std::size(epl12p6pinfuserows), + epl12p6pinfusecolumns, std::size(epl12p6pinfusecolumns), print_epl12p6_product_terms, config_epl12p6_pins, nullptr, nullptr}, {"EPL14P4", 908, - epl14p4pinfuserows, ARRAY_LENGTH(epl14p4pinfuserows), - epl14p4pinfusecolumns, ARRAY_LENGTH(epl14p4pinfusecolumns), + epl14p4pinfuserows, std::size(epl14p4pinfuserows), + epl14p4pinfusecolumns, std::size(epl14p4pinfusecolumns), print_epl14p4_product_terms, config_epl14p4_pins, nullptr, nullptr}, {"EPL16P2", 1030, - epl16p2pinfuserows, ARRAY_LENGTH(epl16p2pinfuserows), - epl16p2pinfusecolumns, ARRAY_LENGTH(epl16p2pinfusecolumns), + epl16p2pinfuserows, std::size(epl16p2pinfuserows), + epl16p2pinfusecolumns, std::size(epl16p2pinfusecolumns), print_epl16p2_product_terms, config_epl16p2_pins, nullptr, nullptr}, {"EPL16P8", 2072, - epl16p8pinfuserows, ARRAY_LENGTH(epl16p8pinfuserows), - epl16p8pinfusecolumns, ARRAY_LENGTH(epl16p8pinfusecolumns), + epl16p8pinfuserows, std::size(epl16p8pinfuserows), + epl16p8pinfusecolumns, std::size(epl16p8pinfusecolumns), print_epl16p8_product_terms, config_epl16p8_pins, nullptr, nullptr}, {"EPL16RP8", 2072, - epl16rp8pinfuserows, ARRAY_LENGTH(epl16rp8pinfuserows), - epl16rp8pinfusecolumns, ARRAY_LENGTH(epl16rp8pinfusecolumns), + epl16rp8pinfuserows, std::size(epl16rp8pinfuserows), + epl16rp8pinfusecolumns, std::size(epl16rp8pinfusecolumns), print_epl16rp8_product_terms, config_epl16rp8_pins, nullptr, nullptr}, {"EPL16RP6", 2072, - epl16rp6pinfuserows, ARRAY_LENGTH(epl16rp6pinfuserows), - epl16rp6pinfusecolumns, ARRAY_LENGTH(epl16rp6pinfusecolumns), + epl16rp6pinfuserows, std::size(epl16rp6pinfuserows), + epl16rp6pinfusecolumns, std::size(epl16rp6pinfusecolumns), print_epl16rp6_product_terms, config_epl16rp6_pins, nullptr, nullptr}, {"EPL16RP4", 2072, - epl16rp4pinfuserows, ARRAY_LENGTH(epl16rp4pinfuserows), - epl16rp4pinfusecolumns, ARRAY_LENGTH(epl16rp4pinfusecolumns), + epl16rp4pinfuserows, std::size(epl16rp4pinfuserows), + epl16rp4pinfusecolumns, std::size(epl16rp4pinfusecolumns), print_epl16rp4_product_terms, config_epl16rp4_pins, nullptr, nullptr}, #endif {"PAL10P8", 328, - pal10p8pinfuserows, ARRAY_LENGTH(pal10p8pinfuserows), - pal10p8pinfusecolumns, ARRAY_LENGTH(pal10p8pinfusecolumns), + pal10p8pinfuserows, std::size(pal10p8pinfuserows), + pal10p8pinfusecolumns, std::size(pal10p8pinfusecolumns), print_pal10p8_product_terms, config_pal10p8_pins, nullptr, nullptr}, {"PAL12P6", 390, - pal12p6pinfuserows, ARRAY_LENGTH(pal12p6pinfuserows), - pal12p6pinfusecolumns, ARRAY_LENGTH(pal12p6pinfusecolumns), + pal12p6pinfuserows, std::size(pal12p6pinfuserows), + pal12p6pinfusecolumns, std::size(pal12p6pinfusecolumns), print_pal12p6_product_terms, config_pal12p6_pins, nullptr, nullptr}, {"PAL14P4", 452, - pal14p4pinfuserows, ARRAY_LENGTH(pal14p4pinfuserows), - pal14p4pinfusecolumns, ARRAY_LENGTH(pal14p4pinfusecolumns), + pal14p4pinfuserows, std::size(pal14p4pinfuserows), + pal14p4pinfusecolumns, std::size(pal14p4pinfusecolumns), print_pal14p4_product_terms, config_pal14p4_pins, nullptr, nullptr}, {"PAL16P2", 514, - pal16p2pinfuserows, ARRAY_LENGTH(pal16p2pinfuserows), - pal16p2pinfusecolumns, ARRAY_LENGTH(pal16p2pinfusecolumns), + pal16p2pinfuserows, std::size(pal16p2pinfuserows), + pal16p2pinfusecolumns, std::size(pal16p2pinfusecolumns), print_pal16p2_product_terms, config_pal16p2_pins, nullptr, nullptr}, {"PAL16P8", 2056, - pal16p8pinfuserows, ARRAY_LENGTH(pal16p8pinfuserows), - pal16p8pinfusecolumns, ARRAY_LENGTH(pal16p8pinfusecolumns), + pal16p8pinfuserows, std::size(pal16p8pinfuserows), + pal16p8pinfusecolumns, std::size(pal16p8pinfusecolumns), print_pal16p8_product_terms, config_pal16p8_pins, nullptr, nullptr}, {"PAL16RP4", 2056, - pal16rp4pinfuserows, ARRAY_LENGTH(pal16rp4pinfuserows), - pal16rp4pinfusecolumns, ARRAY_LENGTH(pal16rp4pinfusecolumns), + pal16rp4pinfuserows, std::size(pal16rp4pinfuserows), + pal16rp4pinfusecolumns, std::size(pal16rp4pinfusecolumns), print_pal16rp4_product_terms, config_pal16rp4_pins, nullptr, nullptr}, {"PAL16RP6", 2056, - pal16rp6pinfuserows, ARRAY_LENGTH(pal16rp6pinfuserows), - pal16rp6pinfusecolumns, ARRAY_LENGTH(pal16rp6pinfusecolumns), + pal16rp6pinfuserows, std::size(pal16rp6pinfuserows), + pal16rp6pinfusecolumns, std::size(pal16rp6pinfusecolumns), print_pal16rp6_product_terms, config_pal16rp6_pins, nullptr, nullptr}, {"PAL16RP8", 2056, - pal16rp8pinfuserows, ARRAY_LENGTH(pal16rp8pinfuserows), - pal16rp8pinfusecolumns, ARRAY_LENGTH(pal16rp8pinfusecolumns), + pal16rp8pinfuserows, std::size(pal16rp8pinfuserows), + pal16rp8pinfusecolumns, std::size(pal16rp8pinfusecolumns), print_pal16rp8_product_terms, config_pal16rp8_pins, nullptr, nullptr}, {"PAL6L16", 192, - pal6l16pinfuserows, ARRAY_LENGTH(pal6l16pinfuserows), - pal6l16pinfusecolumns, ARRAY_LENGTH(pal6l16pinfusecolumns), + pal6l16pinfuserows, std::size(pal6l16pinfuserows), + pal6l16pinfusecolumns, std::size(pal6l16pinfusecolumns), print_pal6l16_product_terms, config_pal6l16_pins, nullptr, nullptr}, {"PAL8L14", 224, - pal8l14pinfuserows, ARRAY_LENGTH(pal8l14pinfuserows), - pal8l14pinfusecolumns, ARRAY_LENGTH(pal8l14pinfusecolumns), + pal8l14pinfuserows, std::size(pal8l14pinfuserows), + pal8l14pinfusecolumns, std::size(pal8l14pinfusecolumns), print_pal8l14_product_terms, config_pal8l14_pins, nullptr, nullptr}, {"PAL12H10", 480, - pal12h10pinfuserows, ARRAY_LENGTH(pal12h10pinfuserows), - pal12h10pinfusecolumns, ARRAY_LENGTH(pal12h10pinfusecolumns), + pal12h10pinfuserows, std::size(pal12h10pinfuserows), + pal12h10pinfusecolumns, std::size(pal12h10pinfusecolumns), print_pal12h10_product_terms, config_pal12h10_pins, nullptr, nullptr}, {"PAL12L10", 480, - pal12l10pinfuserows, ARRAY_LENGTH(pal12l10pinfuserows), - pal12l10pinfusecolumns, ARRAY_LENGTH(pal12l10pinfusecolumns), + pal12l10pinfuserows, std::size(pal12l10pinfuserows), + pal12l10pinfusecolumns, std::size(pal12l10pinfusecolumns), print_pal12l10_product_terms, config_pal12l10_pins, nullptr, nullptr}, {"PAL14H8", 560, - pal14h8pinfuserows, ARRAY_LENGTH(pal14h8pinfuserows), - pal14h8pinfusecolumns, ARRAY_LENGTH(pal14h8pinfusecolumns), + pal14h8pinfuserows, std::size(pal14h8pinfuserows), + pal14h8pinfusecolumns, std::size(pal14h8pinfusecolumns), print_pal14h8_product_terms, config_pal14h8_pins, nullptr, nullptr}, {"PAL14L8", 560, - pal14l8pinfuserows, ARRAY_LENGTH(pal14l8pinfuserows), - pal14l8pinfusecolumns, ARRAY_LENGTH(pal14l8pinfusecolumns), + pal14l8pinfuserows, std::size(pal14l8pinfuserows), + pal14l8pinfusecolumns, std::size(pal14l8pinfusecolumns), print_pal14l8_product_terms, config_pal14l8_pins, nullptr, nullptr}, {"PAL16H6", 640, - pal16h6pinfuserows, ARRAY_LENGTH(pal16h6pinfuserows), - pal16h6pinfusecolumns, ARRAY_LENGTH(pal16h6pinfusecolumns), + pal16h6pinfuserows, std::size(pal16h6pinfuserows), + pal16h6pinfusecolumns, std::size(pal16h6pinfusecolumns), print_pal16h6_product_terms, config_pal16h6_pins, nullptr, nullptr}, {"PAL16L6", 640, - pal16l6pinfuserows, ARRAY_LENGTH(pal16l6pinfuserows), - pal16l6pinfusecolumns, ARRAY_LENGTH(pal16l6pinfusecolumns), + pal16l6pinfuserows, std::size(pal16l6pinfuserows), + pal16l6pinfusecolumns, std::size(pal16l6pinfusecolumns), print_pal16l6_product_terms, config_pal16l6_pins, nullptr, nullptr}, {"PAL18H4", 720, - pal18h4pinfuserows, ARRAY_LENGTH(pal18h4pinfuserows), - pal18h4pinfusecolumns, ARRAY_LENGTH(pal18h4pinfusecolumns), + pal18h4pinfuserows, std::size(pal18h4pinfuserows), + pal18h4pinfusecolumns, std::size(pal18h4pinfusecolumns), print_pal18h4_product_terms, config_pal18h4_pins, nullptr, nullptr}, {"PAL18L4", 720, - pal18l4pinfuserows, ARRAY_LENGTH(pal18l4pinfuserows), - pal18l4pinfusecolumns, ARRAY_LENGTH(pal18l4pinfusecolumns), + pal18l4pinfuserows, std::size(pal18l4pinfuserows), + pal18l4pinfusecolumns, std::size(pal18l4pinfusecolumns), print_pal18l4_product_terms, config_pal18l4_pins, nullptr, nullptr}, {"PAL20C1", 640, - pal20c1pinfuserows, ARRAY_LENGTH(pal20c1pinfuserows), - pal20c1pinfusecolumns, ARRAY_LENGTH(pal20c1pinfusecolumns), + pal20c1pinfuserows, std::size(pal20c1pinfuserows), + pal20c1pinfusecolumns, std::size(pal20c1pinfusecolumns), print_pal20c1_product_terms, config_pal20c1_pins, nullptr, nullptr}, {"PAL20L2", 640, - pal20l2pinfuserows, ARRAY_LENGTH(pal20l2pinfuserows), - pal20l2pinfusecolumns, ARRAY_LENGTH(pal20l2pinfusecolumns), + pal20l2pinfuserows, std::size(pal20l2pinfuserows), + pal20l2pinfusecolumns, std::size(pal20l2pinfusecolumns), print_pal20l2_product_terms, config_pal20l2_pins, nullptr, nullptr}, {"82S100", 1928, - _82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows), - _82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns), + _82s100_pls100_pinfuserows, std::size(_82s100_pls100_pinfuserows), + _82s100_pls100_pinfusecolumns, std::size(_82s100_pls100_pinfusecolumns), print_82s100_pls100_product_terms, config_82s100_pls100_pins, nullptr, nullptr}, {"PLS100", 1928, - _82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows), - _82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns), + _82s100_pls100_pinfuserows, std::size(_82s100_pls100_pinfuserows), + _82s100_pls100_pinfusecolumns, std::size(_82s100_pls100_pinfusecolumns), print_82s100_pls100_product_terms, config_82s100_pls100_pins, nullptr, nullptr}, {"82S101", 1928, - _82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows), - _82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns), + _82s100_pls100_pinfuserows, std::size(_82s100_pls100_pinfuserows), + _82s100_pls100_pinfusecolumns, std::size(_82s100_pls100_pinfusecolumns), print_82s100_pls100_product_terms, config_82s100_pls100_pins, nullptr, nullptr}, {"PLS101", 1928, - _82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows), - _82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns), + _82s100_pls100_pinfuserows, std::size(_82s100_pls100_pinfuserows), + _82s100_pls100_pinfusecolumns, std::size(_82s100_pls100_pinfusecolumns), print_82s100_pls100_product_terms, config_82s100_pls100_pins, nullptr, @@ -2693,7 +2693,7 @@ static void find_pal_data(const char *name, pal_data_vector& pal_data_vector) { int index; - for (index = 0; index < ARRAY_LENGTH(paldata); ++index) + for (index = 0; index < std::size(paldata); ++index) { if (!core_stricmp(name, paldata[index].name)) { @@ -4217,7 +4217,7 @@ static void print_epl10p8_product_terms(const pal_data* pal, const jed_data* jed printf("Equations:\n\n"); - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { flags = outputpins[index].flags; @@ -4767,8 +4767,8 @@ static void config_pal10l8_pins(const pal_data* pal, const jed_data* jed) {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4791,8 +4791,8 @@ static void config_pal10h8_pins(const pal_data* pal, const jed_data* jed) {18, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4813,8 +4813,8 @@ static void config_pal12l6_pins(const pal_data* pal, const jed_data* jed) {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4835,8 +4835,8 @@ static void config_pal12h6_pins(const pal_data* pal, const jed_data* jed) {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {18, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4855,8 +4855,8 @@ static void config_pal14l4_pins(const pal_data* pal, const jed_data* jed) {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4875,8 +4875,8 @@ static void config_pal14h4_pins(const pal_data* pal, const jed_data* jed) {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4893,8 +4893,8 @@ static void config_pal16l2_pins(const pal_data* pal, const jed_data* jed) {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4911,8 +4911,8 @@ static void config_pal16h2_pins(const pal_data* pal, const jed_data* jed) {15, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4929,8 +4929,8 @@ static void config_pal16c1_pins(const pal_data* pal, const jed_data* jed) {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -4959,7 +4959,7 @@ static void config_pal16l8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -4995,7 +4995,7 @@ static void config_pal16r4_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) + for (index = 0; index < std::size(registered_pins); ++index) { output_pins[output_pin_count].pin = registered_pins[index]; output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -5019,7 +5019,7 @@ static void config_pal16r4_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5047,7 +5047,7 @@ static void config_pal16r6_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) + for (index = 0; index < std::size(registered_pins); ++index) { output_pins[output_pin_count].pin = registered_pins[index]; output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -5063,7 +5063,7 @@ static void config_pal16r6_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5087,8 +5087,8 @@ static void config_pal16r8_pins(const pal_data* pal, const jed_data* jed) {18, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, {19, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -5198,7 +5198,7 @@ static void config_gal16v8_pins(const pal_data* pal, const jed_data* jed) static uint16_t input_pins_registered[] = {2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19}; static uint16_t input_pins_combinatorialcomplex[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18}; uint16_t input_pins_combinatorialsimple[18]; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, input_pin_count, output_pin_count; output_pin_count = 0; @@ -5214,12 +5214,12 @@ static void config_gal16v8_pins(const pal_data* pal, const jed_data* jed) { /* Complex Mode */ - set_input_pins(input_pins_combinatorialcomplex, ARRAY_LENGTH(input_pins_combinatorialcomplex)); + set_input_pins(input_pins_combinatorialcomplex, std::size(input_pins_combinatorialcomplex)); memcpy(gal16v8pinfuserows, pinfuserows_combinatorialcomplex, sizeof(pinfuserows_combinatorialcomplex)); memcpy(gal16v8pinfusecolumns, pinfusecolumns_combinatorialcomplex, sizeof(pinfusecolumns_combinatorialcomplex)); - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (is_gal16v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) && does_output_enable_fuse_row_allow_output(pal, jed, pal->pinfuserows[index].fuserowoutputenable)) @@ -5270,7 +5270,7 @@ static void config_gal16v8_pins(const pal_data* pal, const jed_data* jed) memcpy(gal16v8pinfuserows, pinfuserows_combinatorialsimple, sizeof(pinfuserows_combinatorialsimple)); memcpy(gal16v8pinfusecolumns, pinfusecolumns_combinatorialsimple, sizeof(pinfusecolumns_combinatorialsimple)); - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) { @@ -5325,11 +5325,11 @@ static void config_gal16v8_pins(const pal_data* pal, const jed_data* jed) { /* Registered */ - set_input_pins(input_pins_registered, ARRAY_LENGTH(input_pins_registered)); + set_input_pins(input_pins_registered, std::size(input_pins_registered)); memcpy(gal16v8pinfusecolumns, pinfusecolumns_registered, sizeof(pinfusecolumns_registered)); - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) { @@ -5414,14 +5414,14 @@ static void config_peel18cv8_pins(const pal_data* pal, const jed_data* jed) {18, 2668, 2669, 2670, 2671}, {19, 2664, 2665, 2666, 2667}}; static uint16_t input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19}; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, output_pin_count; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); output_pin_count = 0; - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (jed_get_fuse(jed, macrocells[index].feedback1_fuse) && !jed_get_fuse(jed, macrocells[index].feedback2_fuse)) @@ -5536,7 +5536,7 @@ static void config_ampal18p8_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index, output_pin_count; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); output_pin_count = 0; @@ -5592,12 +5592,12 @@ static void config_gal18v10_pins(const pal_data* pal, const jed_data* jed) {18, 3458, 3459}, {19, 3456, 3457}}; static uint16_t input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19}; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, output_pin_count; output_pin_count = 0; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { if (jed_get_fuse(jed, macrocells[index].s1_fuse)) { @@ -5640,7 +5640,7 @@ static void config_gal18v10_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5680,7 +5680,7 @@ static void config_pal20l8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5720,7 +5720,7 @@ static void config_pal20l10_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5756,7 +5756,7 @@ static void config_pal20r4_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) + for (index = 0; index < std::size(registered_pins); ++index) { output_pins[output_pin_count].pin = registered_pins[index]; output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -5780,7 +5780,7 @@ static void config_pal20r4_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5808,7 +5808,7 @@ static void config_pal20r6_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) + for (index = 0; index < std::size(registered_pins); ++index) { output_pins[output_pin_count].pin = registered_pins[index]; output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -5824,7 +5824,7 @@ static void config_pal20r6_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -5848,8 +5848,8 @@ static void config_pal20r8_pins(const pal_data* pal, const jed_data* jed) {21, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -5874,8 +5874,8 @@ static void config_pal20ra10_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, {23, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -5900,8 +5900,8 @@ static void config_pal20x4_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT}, {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } /*------------------------------------------------- @@ -5924,8 +5924,8 @@ static void config_pal20x8_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -5950,8 +5950,8 @@ static void config_pal20x10_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, {23, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6073,7 +6073,7 @@ static void config_gal20v8_pins(const pal_data* pal, const jed_data* jed) static uint16_t input_pins_registered[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; static uint16_t input_pins_combinatorialcomplex[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 23}; uint16_t input_pins_combinatorialsimple[22]; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, input_pin_count, output_pin_count; output_pin_count = 0; @@ -6089,12 +6089,12 @@ static void config_gal20v8_pins(const pal_data* pal, const jed_data* jed) { /* Complex Mode */ - set_input_pins(input_pins_combinatorialcomplex, ARRAY_LENGTH(input_pins_combinatorialcomplex)); + set_input_pins(input_pins_combinatorialcomplex, std::size(input_pins_combinatorialcomplex)); memcpy(gal20v8pinfuserows, pinfuserows_combinatorialcomplex, sizeof(pinfuserows_combinatorialcomplex)); memcpy(gal20v8pinfusecolumns, pinfusecolumns_combinatorialcomplex, sizeof(pinfusecolumns_combinatorialcomplex)); - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (is_gal20v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) && does_output_enable_fuse_row_allow_output(pal, jed, pal->pinfuserows[index].fuserowoutputenable)) @@ -6148,7 +6148,7 @@ static void config_gal20v8_pins(const pal_data* pal, const jed_data* jed) memcpy(gal20v8pinfuserows, pinfuserows_combinatorialsimple, sizeof(pinfuserows_combinatorialsimple)); memcpy(gal20v8pinfusecolumns, pinfusecolumns_combinatorialsimple, sizeof(pinfusecolumns_combinatorialsimple)); - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) { @@ -6206,11 +6206,11 @@ static void config_gal20v8_pins(const pal_data* pal, const jed_data* jed) { /* Registered */ - set_input_pins(input_pins_registered, ARRAY_LENGTH(input_pins_registered)); + set_input_pins(input_pins_registered, std::size(input_pins_registered)); memcpy(gal20v8pinfusecolumns, pinfusecolumns_registered, sizeof(pinfusecolumns_registered)); - for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + for (index = 0; index < std::size(macrocells); ++index) { if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) { @@ -6295,12 +6295,12 @@ static void config_palce22v10_pal22v10_pins(const pal_data* pal, const jed_data* {22, 5810, 5811}, {23, 5808, 5809}}; static uint16_t input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, output_pin_count; output_pin_count = 0; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { if (jed_get_fuse(jed, macrocells[index].s1_fuse)) { @@ -6343,7 +6343,7 @@ static void config_palce22v10_pal22v10_pins(const pal_data* pal, const jed_data* } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -6376,12 +6376,12 @@ static void config_gal22v10_pins(const pal_data* pal, const jed_data* jed) {22, 5810, 5811}, {23, 5808, 5809}}; static uint16_t input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, output_pin_count; output_pin_count = 0; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { if (jed_get_fuse(jed, macrocells[index].s1_fuse)) { @@ -6424,7 +6424,7 @@ static void config_gal22v10_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -6457,7 +6457,7 @@ static void config_atf22v10_power_down_mode_pins(const pal_data* pal, const jed_ {22, 5810, 5811}, {23, 5808, 5809}}; static uint16_t input_pins[] = {1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; - pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + pin_output_config output_pins[std::size(macrocells)]; uint16_t index, output_pin_count; output_pin_count = 0; @@ -6467,7 +6467,7 @@ static void config_atf22v10_power_down_mode_pins(const pal_data* pal, const jed_ fprintf(stderr, "Warning: Power down fuse not blown!\n"); } - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { if (jed_get_fuse(jed, macrocells[index].s1_fuse)) { @@ -6510,7 +6510,7 @@ static void config_atf22v10_power_down_mode_pins(const pal_data* pal, const jed_ } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -6549,7 +6549,7 @@ static void config_82s153_pls153_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -6588,7 +6588,7 @@ static void config_ck2605_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -6622,7 +6622,7 @@ static void config_epl10p8_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -6637,8 +6637,8 @@ static void config_epl10p8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6670,7 +6670,7 @@ static void config_epl12p6_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -6685,8 +6685,8 @@ static void config_epl12p6_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6716,7 +6716,7 @@ static void config_epl14p4_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -6731,8 +6731,8 @@ static void config_epl14p4_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6760,7 +6760,7 @@ static void config_epl16p2_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -6775,8 +6775,8 @@ static void config_epl16p2_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6810,7 +6810,7 @@ static void config_epl16p8_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -6825,8 +6825,8 @@ static void config_epl16p8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6860,7 +6860,7 @@ static void config_epl16rp8_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; output_pins[index].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -6875,8 +6875,8 @@ static void config_epl16rp8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6910,7 +6910,7 @@ static void config_epl16rp6_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; @@ -6935,8 +6935,8 @@ static void config_epl16rp6_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -6970,7 +6970,7 @@ static void config_epl16rp4_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) + for (index = 0; index < std::size(memory_cells); ++index) { output_pins[index].pin = memory_cells[index].pin; @@ -6994,8 +6994,8 @@ static void config_epl16rp4_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } #endif @@ -7012,7 +7012,7 @@ static void config_pal10p8_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[8]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { output_pins[index].pin = index + 12; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -7027,8 +7027,8 @@ static void config_pal10p8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7044,7 +7044,7 @@ static void config_pal12p6_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[6]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { output_pins[index].pin = index + 13; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -7059,8 +7059,8 @@ static void config_pal12p6_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7076,7 +7076,7 @@ static void config_pal14p4_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[4]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { output_pins[index].pin = index + 14; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -7091,8 +7091,8 @@ static void config_pal14p4_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7108,7 +7108,7 @@ static void config_pal16p2_pins(const pal_data* pal, const jed_data* jed) pin_output_config output_pins[2]; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { output_pins[index].pin = index + 15; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -7123,8 +7123,8 @@ static void config_pal16p2_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7162,7 +7162,7 @@ static void config_pal16p8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -7216,7 +7216,7 @@ static void config_pal16rp4_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) + for (index = 0; index < std::size(registered_pins); ++index) { output_pins[output_pin_count].pin = registered_pins[index]; output_pins[output_pin_count].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -7267,7 +7267,7 @@ static void config_pal16rp4_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -7304,7 +7304,7 @@ static void config_pal16rp6_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) + for (index = 0; index < std::size(registered_pins); ++index) { output_pins[output_pin_count].pin = registered_pins[index]; output_pins[output_pin_count].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; @@ -7338,7 +7338,7 @@ static void config_pal16rp6_pins(const pal_data* pal, const jed_data* jed) ++output_pin_count; } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); + set_input_pins(input_pins, std::size(input_pins)); set_output_pins(output_pins, output_pin_count); } @@ -7363,7 +7363,7 @@ static void config_pal16rp8_pins(const pal_data* pal, const jed_data* jed) {19, OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; uint16_t index; - for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (index = 0; index < std::size(output_pins); ++index) { if (!jed_get_fuse(jed, 2055 - index)) { @@ -7375,8 +7375,8 @@ static void config_pal16rp8_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7407,8 +7407,8 @@ static void config_pal6l16_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7437,8 +7437,8 @@ static void config_pal8l14_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7463,8 +7463,8 @@ static void config_pal12h10_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {23, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7489,8 +7489,8 @@ static void config_pal12l10_pins(const pal_data* pal, const jed_data* jed) {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7513,8 +7513,8 @@ static void config_pal14h8_pins(const pal_data* pal, const jed_data* jed) {21, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {22, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7537,8 +7537,8 @@ static void config_pal14l8_pins(const pal_data* pal, const jed_data* jed) {21, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7559,8 +7559,8 @@ static void config_pal16h6_pins(const pal_data* pal, const jed_data* jed) {20, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {21, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7581,8 +7581,8 @@ static void config_pal16l6_pins(const pal_data* pal, const jed_data* jed) {20, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {21, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7601,8 +7601,8 @@ static void config_pal18h4_pins(const pal_data* pal, const jed_data* jed) {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {20, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7621,8 +7621,8 @@ static void config_pal18l4_pins(const pal_data* pal, const jed_data* jed) {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {20, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7639,8 +7639,8 @@ static void config_pal20c1_pins(const pal_data* pal, const jed_data* jed) {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7657,8 +7657,8 @@ static void config_pal20l2_pins(const pal_data* pal, const jed_data* jed) {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -7673,7 +7673,7 @@ static void config_82s100_pls100_pins(const pal_data* pal, const jed_data* jed) static uint16_t input_pins[] = {9, 8, 7, 6, 5, 4, 3, 2, 27, 26, 25, 24, 23, 22, 21, 20}; pin_output_config output_pins[8]; - for (uint16_t index = 0; index < ARRAY_LENGTH(output_pins); ++index) + for (uint16_t index = 0; index < std::size(output_pins); ++index) { output_pins[index].pin = pal->pinfuserows[index].pin; output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; @@ -7688,8 +7688,8 @@ static void config_82s100_pls100_pins(const pal_data* pal, const jed_data* jed) } } - set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); - set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); + set_input_pins(input_pins, std::size(input_pins)); + set_output_pins(output_pins, std::size(output_pins)); } @@ -8195,7 +8195,7 @@ static int command_viewlist(int argc, char *argv[]) return print_usage(); } - for (index = 0; index < ARRAY_LENGTH(paldata); ++index) + for (index = 0; index < std::size(paldata); ++index) { nameset.insert(paldata[index].name); } @@ -8265,7 +8265,7 @@ static int command_listcompatible(int argc, char *argv[]) } } - for (index = 0; index < ARRAY_LENGTH(paldata); ++index) + for (index = 0; index < std::size(paldata); ++index) { if (paldata[index].numfuses == jed.numfuses) { @@ -8298,7 +8298,7 @@ int main(int argc, char *argv[]) return print_usage(); } - for (index = 0; index < ARRAY_LENGTH(command_entries); ++index) + for (index = 0; index < std::size(command_entries); ++index) { if (!strcmp(argv[1], command_entries[index].command)) return command_entries[index].command_func(argc - 2, &argv[2]); diff --git a/src/tools/regrep.cpp b/src/tools/regrep.cpp index 304e195fa10..a8877c54899 100644 --- a/src/tools/regrep.cpp +++ b/src/tools/regrep.cpp @@ -698,7 +698,7 @@ static void output_report(std::string &dirname, std::string &tempheader, std::st } /* iterate over buckets and output them */ - for (bucknum = 0; bucknum < ARRAY_LENGTH(bucket_output_order); bucknum++) + for (bucknum = 0; bucknum < std::size(bucket_output_order); bucknum++) { int curbucket = bucket_output_order[bucknum]; diff --git a/src/tools/srcclean.cpp b/src/tools/srcclean.cpp index 055cce35784..7f52c3c6feb 100644 --- a/src/tools/srcclean.cpp +++ b/src/tools/srcclean.cpp @@ -51,7 +51,6 @@ #include "corefile.h" #include "corestr.h" -#include "osdcomm.h" #include "strformat.h" #include <algorithm> @@ -597,7 +596,7 @@ void cleaner_base::output_utf8(char32_t ch) void cleaner_base::commit_character(char32_t ch) { - assert(ARRAY_LENGTH(m_buffer) > m_position); + assert(std::size(m_buffer) > m_position); assert(1U <= m_code_length); assert(6U >= m_code_length); @@ -697,7 +696,7 @@ void cleaner_base::commit_character(char32_t ch) void cleaner_base::process_if_full() { - if (ARRAY_LENGTH(m_buffer) == m_position) + if (std::size(m_buffer) == m_position) { process_characters(m_buffer, m_buffer + m_position); m_position = 0U; diff --git a/src/tools/unidasm.cpp b/src/tools/unidasm.cpp index 26cf1260f07..f361eff0b6b 100644 --- a/src/tools/unidasm.cpp +++ b/src/tools/unidasm.cpp @@ -1180,14 +1180,14 @@ usage: printf("Supported architectures:"); const int colwidth = 1 + std::strlen(std::max_element(std::begin(dasm_table), std::end(dasm_table), [](const dasm_table_entry &a, const dasm_table_entry &b) { return std::strlen(a.name) < std::strlen(b.name); })->name); const int columns = std::max(1, 80 / colwidth); - const int numrows = (ARRAY_LENGTH(dasm_table) + columns - 1) / columns; + const int numrows = (std::size(dasm_table) + columns - 1) / columns; for(unsigned curarch = 0; curarch < numrows * columns; curarch++) { const int row = curarch / columns; const int col = curarch % columns; const int index = col * numrows + row; if(col == 0) printf("\n "); - printf("%-*s", colwidth, (index < ARRAY_LENGTH(dasm_table)) ? dasm_table[index].name : ""); + printf("%-*s", colwidth, (index < std::size(dasm_table)) ? dasm_table[index].name : ""); } printf("\n"); return 1; |