Lines Matching refs:symbol
92 static void initialize_symbol(symbol_t *symbol);
102 static void test_readable_symbol(symbol_t *symbol);
103 static void test_writable_symbol(symbol_t *symbol);
106 static void add_conditional(symbol_t *symbol);
109 static int is_location_address(symbol_t *symbol);
454 symbol_t *symbol; variable
456 symbol = $1;
457 if (symbol->type != CONST) {
462 if (symbol->info.cinfo->value > 4) {
467 $$ = (0x1 << symbol->info.cinfo->value);
553 if (accumulator.symbol != NULL) {
558 accumulator.symbol = cur_symbol;
565 if (mode_ptr.symbol != NULL) {
570 mode_ptr.symbol = cur_symbol;
577 if (allones.symbol != NULL) {
582 allones.symbol = cur_symbol;
589 if (allzeros.symbol != NULL) {
594 allzeros.symbol = cur_symbol;
601 if (none.symbol != NULL) {
606 none.symbol = cur_symbol;
613 if (sindex.symbol != NULL) {
618 sindex.symbol = cur_symbol;
700 symbol_t *symbol; variable
702 symbol = $1;
703 switch (symbol->type) {
705 symbol = $1->info.ainfo->parent;
709 $$.value = symbol->info.rinfo->address;
715 $$.value = symbol->info.finfo->value;
719 $$.value = symbol->info.cinfo->value;
726 symbol->name);
733 symlist_add(&$$.referenced_syms, symbol, SYMLIST_INSERT_HEAD);
890 $$.symbol = $1;
905 $$.symbol = $1;
916 $$.symbol = $1;
921 if (accumulator.symbol == NULL) {
925 $$.symbol = accumulator.symbol;
933 test_writable_symbol($1.symbol);
959 symlist_add(&$$.referenced_syms, accumulator.symbol,
968 test_readable_symbol($1.symbol);
975 $$.symbol = NULL;
1056 $$.symbol = $1;
1061 $$.symbol = $1;
1066 $$.symbol = $1;
1071 $$.symbol = NULL;
1076 $$.symbol = NULL;
1081 $$.symbol = NULL;
1473 initialize_symbol(symbol_t *symbol) in initialize_symbol() argument
1475 switch (symbol->type) { in initialize_symbol()
1484 symbol->info.rinfo = in initialize_symbol()
1486 if (symbol->info.rinfo == NULL) { in initialize_symbol()
1490 memset(symbol->info.rinfo, 0, in initialize_symbol()
1492 SLIST_INIT(&(symbol->info.rinfo->fields)); in initialize_symbol()
1499 symbol->info.rinfo->modes = in initialize_symbol()
1502 symbol->info.rinfo->modes = ~0; in initialize_symbol()
1505 symbol->info.ainfo = in initialize_symbol()
1507 if (symbol->info.ainfo == NULL) { in initialize_symbol()
1511 memset(symbol->info.ainfo, 0, in initialize_symbol()
1518 symbol->info.finfo = in initialize_symbol()
1520 if (symbol->info.finfo == NULL) { in initialize_symbol()
1524 memset(symbol->info.finfo, 0, sizeof(struct field_info)); in initialize_symbol()
1525 SLIST_INIT(&(symbol->info.finfo->symrefs)); in initialize_symbol()
1529 symbol->info.cinfo = in initialize_symbol()
1531 if (symbol->info.cinfo == NULL) { in initialize_symbol()
1535 memset(symbol->info.cinfo, 0, in initialize_symbol()
1539 symbol->info.linfo = in initialize_symbol()
1541 if (symbol->info.linfo == NULL) { in initialize_symbol()
1545 memset(symbol->info.linfo, 0, in initialize_symbol()
1549 symbol->info.condinfo = in initialize_symbol()
1551 if (symbol->info.condinfo == NULL) { in initialize_symbol()
1555 memset(symbol->info.condinfo, 0, in initialize_symbol()
1559 symbol->info.macroinfo = in initialize_symbol()
1561 if (symbol->info.macroinfo == NULL) { in initialize_symbol()
1565 memset(symbol->info.macroinfo, 0, in initialize_symbol()
1567 STAILQ_INIT(&symbol->info.macroinfo->args); in initialize_symbol()
1630 symbol_t *symbol = *p_symbol; in process_register() local
1632 if (symbol->type == UNINITIALIZED) { in process_register()
1634 symbol->name); in process_register()
1637 } else if (symbol->type == ALIAS) { in process_register()
1638 *p_symbol = symbol->info.ainfo->parent; in process_register()
1639 } else if ((symbol->type != REGISTER) in process_register()
1640 && (symbol->type != SCBLOC) in process_register()
1641 && (symbol->type != SRAMLOC)) { in process_register()
1644 symbol->name); in process_register()
1656 if (src->symbol == NULL) in format_1_instr()
1660 test_writable_symbol(dest->symbol); in format_1_instr()
1661 test_readable_symbol(src->symbol); in format_1_instr()
1663 if (!is_location_address(dest->symbol)) { in format_1_instr()
1673 f1_instr->destination = dest->symbol->info.rinfo->address in format_1_instr()
1675 f1_instr->source = src->symbol->info.rinfo->address in format_1_instr()
1681 else if (dest->symbol == mode_ptr.symbol) { in format_1_instr()
1689 if (src->symbol == allones.symbol) in format_1_instr()
1691 else if (src->symbol == allzeros.symbol) in format_1_instr()
1693 else if (src->symbol == mode_ptr.symbol) in format_1_instr()
1734 if (src->symbol == NULL) in format_2_instr()
1738 test_writable_symbol(dest->symbol); in format_2_instr()
1739 test_readable_symbol(src->symbol); in format_2_instr()
1746 f2_instr->destination = dest->symbol->info.rinfo->address in format_2_instr()
1748 f2_instr->source = src->symbol->info.rinfo->address in format_2_instr()
1796 test_readable_symbol(src->symbol); in format_3_instr()
1801 if (address->symbol == NULL) { in format_3_instr()
1804 } else if (address->symbol->type == UNINITIALIZED) { in format_3_instr()
1807 instr->patch_label = address->symbol; in format_3_instr()
1809 addr = address->symbol->info.linfo->address + address->offset; in format_3_instr()
1812 f3_instr->source = src->symbol->info.rinfo->address in format_3_instr()
1824 test_readable_symbol(symbol_t *symbol) in test_readable_symbol() argument
1826 if ((symbol->info.rinfo->modes & (0x1 << src_mode)) == 0) { in test_readable_symbol()
1829 symbol->name, src_mode); in test_readable_symbol()
1833 if (symbol->info.rinfo->mode == WO) { in test_readable_symbol()
1841 test_writable_symbol(symbol_t *symbol) in test_writable_symbol() argument
1843 if ((symbol->info.rinfo->modes & (0x1 << dst_mode)) == 0) { in test_writable_symbol()
1846 symbol->name, dst_mode); in test_writable_symbol()
1850 if (symbol->info.rinfo->mode == RO) { in test_writable_symbol()
1860 symbol_t *symbol = sym->symbol; in type_check() local
1879 mask = (int8_t)~symbol->info.rinfo->valid_bitmask; in type_check()
1886 symbol->name); in type_check()
1895 if (symbol->info.rinfo->typecheck_masks != FALSE) { in type_check()
1899 if ((node->symbol->type == MASK in type_check()
1900 || node->symbol->type == FIELD in type_check()
1901 || node->symbol->type == ENUM in type_check()
1902 || node->symbol->type == ENUM_ENTRY) in type_check()
1903 && symlist_search(&node->symbol->info.finfo->symrefs, in type_check()
1904 symbol->name) == NULL) { in type_check()
1908 node->symbol->name, symbol->name); in type_check()
1924 add_conditional(symbol_t *symbol) in add_conditional() argument
1945 if (symbol->type == CONDITIONAL) in add_conditional()
1948 if (symbol->type != UNINITIALIZED) { in add_conditional()
1954 symbol->type = CONDITIONAL; in add_conditional()
1955 initialize_symbol(symbol); in add_conditional()
1956 symbol->info.condinfo->func_num = numfuncs++; in add_conditional()
1957 symlist_add(&patch_functions, symbol, SYMLIST_INSERT_HEAD); in add_conditional()
1990 && (immed->referenced_syms.slh_first->symbol->type == DOWNLOAD_CONST)) in is_download_const()