Lines Matching refs:symbol
88 static void initialize_symbol(symbol_t *symbol);
98 static void test_readable_symbol(symbol_t *symbol);
99 static void test_writable_symbol(symbol_t *symbol);
102 static void add_conditional(symbol_t *symbol);
105 static int is_location_address(symbol_t *symbol);
450 symbol_t *symbol; variable
452 symbol = $1;
453 if (symbol->type != CONST) {
458 if (symbol->info.cinfo->value > 4) {
463 $$ = (0x1 << symbol->info.cinfo->value);
549 if (accumulator.symbol != NULL) {
554 accumulator.symbol = cur_symbol;
561 if (mode_ptr.symbol != NULL) {
566 mode_ptr.symbol = cur_symbol;
573 if (allones.symbol != NULL) {
578 allones.symbol = cur_symbol;
585 if (allzeros.symbol != NULL) {
590 allzeros.symbol = cur_symbol;
597 if (none.symbol != NULL) {
602 none.symbol = cur_symbol;
609 if (sindex.symbol != NULL) {
614 sindex.symbol = cur_symbol;
696 symbol_t *symbol; variable
698 symbol = $1;
699 switch (symbol->type) {
701 symbol = $1->info.ainfo->parent;
705 $$.value = symbol->info.rinfo->address;
711 $$.value = symbol->info.finfo->value;
715 $$.value = symbol->info.cinfo->value;
722 symbol->name);
729 symlist_add(&$$.referenced_syms, symbol, SYMLIST_INSERT_HEAD);
886 $$.symbol = $1;
901 $$.symbol = $1;
912 $$.symbol = $1;
917 if (accumulator.symbol == NULL) {
921 $$.symbol = accumulator.symbol;
929 test_writable_symbol($1.symbol);
955 symlist_add(&$$.referenced_syms, accumulator.symbol,
964 test_readable_symbol($1.symbol);
971 $$.symbol = NULL;
1052 $$.symbol = $1;
1057 $$.symbol = $1;
1062 $$.symbol = $1;
1067 $$.symbol = NULL;
1072 $$.symbol = NULL;
1077 $$.symbol = NULL;
1469 initialize_symbol(symbol_t *symbol) in initialize_symbol() argument
1471 switch (symbol->type) { in initialize_symbol()
1480 symbol->info.rinfo = in initialize_symbol()
1482 if (symbol->info.rinfo == NULL) { in initialize_symbol()
1486 memset(symbol->info.rinfo, 0, in initialize_symbol()
1488 SLIST_INIT(&(symbol->info.rinfo->fields)); in initialize_symbol()
1495 symbol->info.rinfo->modes = in initialize_symbol()
1498 symbol->info.rinfo->modes = ~0; in initialize_symbol()
1501 symbol->info.ainfo = in initialize_symbol()
1503 if (symbol->info.ainfo == NULL) { in initialize_symbol()
1507 memset(symbol->info.ainfo, 0, in initialize_symbol()
1514 symbol->info.finfo = in initialize_symbol()
1516 if (symbol->info.finfo == NULL) { in initialize_symbol()
1520 memset(symbol->info.finfo, 0, sizeof(struct field_info)); in initialize_symbol()
1521 SLIST_INIT(&(symbol->info.finfo->symrefs)); in initialize_symbol()
1525 symbol->info.cinfo = in initialize_symbol()
1527 if (symbol->info.cinfo == NULL) { in initialize_symbol()
1531 memset(symbol->info.cinfo, 0, in initialize_symbol()
1535 symbol->info.linfo = in initialize_symbol()
1537 if (symbol->info.linfo == NULL) { in initialize_symbol()
1541 memset(symbol->info.linfo, 0, in initialize_symbol()
1545 symbol->info.condinfo = in initialize_symbol()
1547 if (symbol->info.condinfo == NULL) { in initialize_symbol()
1551 memset(symbol->info.condinfo, 0, in initialize_symbol()
1555 symbol->info.macroinfo = in initialize_symbol()
1557 if (symbol->info.macroinfo == NULL) { in initialize_symbol()
1561 memset(symbol->info.macroinfo, 0, in initialize_symbol()
1563 STAILQ_INIT(&symbol->info.macroinfo->args); in initialize_symbol()
1626 symbol_t *symbol = *p_symbol; in process_register() local
1628 if (symbol->type == UNINITIALIZED) { in process_register()
1630 symbol->name); in process_register()
1633 } else if (symbol->type == ALIAS) { in process_register()
1634 *p_symbol = symbol->info.ainfo->parent; in process_register()
1635 } else if ((symbol->type != REGISTER) in process_register()
1636 && (symbol->type != SCBLOC) in process_register()
1637 && (symbol->type != SRAMLOC)) { in process_register()
1640 symbol->name); in process_register()
1652 if (src->symbol == NULL) in format_1_instr()
1656 test_writable_symbol(dest->symbol); in format_1_instr()
1657 test_readable_symbol(src->symbol); in format_1_instr()
1659 if (!is_location_address(dest->symbol)) { in format_1_instr()
1669 f1_instr->destination = dest->symbol->info.rinfo->address in format_1_instr()
1671 f1_instr->source = src->symbol->info.rinfo->address in format_1_instr()
1677 else if (dest->symbol == mode_ptr.symbol) { in format_1_instr()
1685 if (src->symbol == allones.symbol) in format_1_instr()
1687 else if (src->symbol == allzeros.symbol) in format_1_instr()
1689 else if (src->symbol == mode_ptr.symbol) in format_1_instr()
1730 if (src->symbol == NULL) in format_2_instr()
1734 test_writable_symbol(dest->symbol); in format_2_instr()
1735 test_readable_symbol(src->symbol); in format_2_instr()
1742 f2_instr->destination = dest->symbol->info.rinfo->address in format_2_instr()
1744 f2_instr->source = src->symbol->info.rinfo->address in format_2_instr()
1792 test_readable_symbol(src->symbol); in format_3_instr()
1797 if (address->symbol == NULL) { in format_3_instr()
1800 } else if (address->symbol->type == UNINITIALIZED) { in format_3_instr()
1803 instr->patch_label = address->symbol; in format_3_instr()
1805 addr = address->symbol->info.linfo->address + address->offset; in format_3_instr()
1808 f3_instr->source = src->symbol->info.rinfo->address in format_3_instr()
1820 test_readable_symbol(symbol_t *symbol) in test_readable_symbol() argument
1822 if ((symbol->info.rinfo->modes & (0x1 << src_mode)) == 0) { in test_readable_symbol()
1825 symbol->name, src_mode); in test_readable_symbol()
1829 if (symbol->info.rinfo->mode == WO) { in test_readable_symbol()
1837 test_writable_symbol(symbol_t *symbol) in test_writable_symbol() argument
1839 if ((symbol->info.rinfo->modes & (0x1 << dst_mode)) == 0) { in test_writable_symbol()
1842 symbol->name, dst_mode); in test_writable_symbol()
1846 if (symbol->info.rinfo->mode == RO) { in test_writable_symbol()
1856 symbol_t *symbol = sym->symbol; in type_check() local
1875 mask = (int8_t)~symbol->info.rinfo->valid_bitmask; in type_check()
1882 symbol->name); in type_check()
1891 if (symbol->info.rinfo->typecheck_masks != FALSE) { in type_check()
1895 if ((node->symbol->type == MASK in type_check()
1896 || node->symbol->type == FIELD in type_check()
1897 || node->symbol->type == ENUM in type_check()
1898 || node->symbol->type == ENUM_ENTRY) in type_check()
1899 && symlist_search(&node->symbol->info.finfo->symrefs, in type_check()
1900 symbol->name) == NULL) { in type_check()
1904 node->symbol->name, symbol->name); in type_check()
1920 add_conditional(symbol_t *symbol) in add_conditional() argument
1941 if (symbol->type == CONDITIONAL) in add_conditional()
1944 if (symbol->type != UNINITIALIZED) { in add_conditional()
1950 symbol->type = CONDITIONAL; in add_conditional()
1951 initialize_symbol(symbol); in add_conditional()
1952 symbol->info.condinfo->func_num = numfuncs++; in add_conditional()
1953 symlist_add(&patch_functions, symbol, SYMLIST_INSERT_HEAD); in add_conditional()
1986 && (immed->referenced_syms.slh_first->symbol->type == DOWNLOAD_CONST)) in is_download_const()