Changeset 44aad8f for libcfa/src/iostream.cfa
- Timestamp:
- Apr 27, 2020, 4:36:58 PM (6 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- c59a346
- Parents:
- 038be32 (diff), c680a4b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
libcfa/src/iostream.cfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/iostream.cfa
r038be32 r44aad8f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Apr 22 10:50:46 202013 // Update Count : 9 3312 // Last Modified On : Sun Apr 26 20:31:36 2020 13 // Update Count : 985 14 14 // 15 15 … … 565 565 fmt2.flags.pad0 = fmt2.flags.nobsdp = true; \ 566 566 if ( f.base == 'b' | f.base == 'B' ) { \ 567 if ( fmt.flags.pc && fmt.pc > 64 ) fmt.pc -= 64; \567 if ( fmt.flags.pc && fmt.pc > 64 ) fmt.pc -= 64; else { fmt.flags.pc = false; fmt.pc = 0; } \ 568 568 if ( fmt.flags.left ) { \ 569 569 fmt2.wd = fmt.wd; \ … … 584 584 printf( "left %d %d %x\n", fmt.wd, fmt.pc, fmt.all ); \ 585 585 } else { \ 586 if ( fmt.wd > 64 ) fmt.wd -= 64; \ 587 /* if ( ! fmt.flags.nobsdp && fmt.pc < fmt.wd ) fmt.wd -= 1; */ \ 586 588 fmt2.wd = 64; \ 587 if ( fmt.wd > 64 ) fmt.wd -= 64; \ 588 printf( "left %d %d %x\n", f.wd, f.pc, f.all ); \ 589 printf( "left %d %d %x\n", fmt.wd, fmt.pc, fmt.all ); \ 589 /* printf( "R %llo %llo %llo %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \ 590 590 } /* if */ \ 591 fmt2.pc = 64; fmt2.flags.pc = true; \ 592 printf( "left %d %d %x\n", fmt2.wd, fmt2.pc, fmt2.all ); \ 591 /* printf( "\nC %llo %d %d '%c' %x\n", fmt2.val, fmt2.wd, fmt2.pc, fmt2.base, fmt2.all ); */ \ 593 592 (ostype &)(os | fmt | "" | fmt2); \ 594 593 } else if ( f.base == 'o' ) { \ 595 if ( fmt.flags.pc && fmt.pc > 21 ) fmt.pc -= 21; \ 594 if ( fmt.flags.pc && fmt.pc > 22 ) fmt.pc -= 22; else { fmt.flags.pc = false; fmt.pc = 0; } \ 595 fmt.val = (unsigned long long int)fmt.val >> 2; \ 596 fmt2.val = ((msig & 0x3) << 1) + ((lsig & 0x8000000000000000U) != 0); \ 596 597 if ( fmt.flags.left ) { \ 597 598 fmt.flags.left = false; \ 598 fmt.wd = 1; \ 599 fmt.val = (unsigned long long int)fmt.val >> 2; \ 600 fmt2.wd = 1; \ 601 fmt2.val = ((msig & 0x3) << 1) + 1; \ 599 fmt.wd = 0; \ 600 /* if ( fmt2.val > 1 && fmt.flags.pc && fmt.pc > 0 ) fmt.pc -= 1; */ \ 601 /* printf( "L %llo %llo %llo %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \ 602 602 (ostype &)(os | fmt | "" | fmt2); \ 603 603 sepOff( os ); \ 604 604 fmt2.flags.left = true; \ 605 fmt2.wd = f.wd - ( ceiling( high1( fmt.val ), 3 ) + 1 ); \ 605 int msigd = ceiling( high1( fmt.val ), 3 ) + 1; \ 606 fmt2.wd = f.wd - (fmt.pc > msigd ? fmt.pc : msigd) - 1; \ 607 if ( fmt2.wd < 21 ) fmt2.wd = 21; \ 606 608 fmt2.flags.pc = true; fmt2.pc = 21; \ 607 if ( ! fmt.flags.nobsdp ) { fmt2.wd -= 1; } \608 fmt2.val = lsig & 0x7fffffffffffffff; \609 (ostype &)(os | fmt2); \610 609 } else { \ 611 fmt.val = (unsigned long long int)fmt.val >>2; \612 if ( fmt.wd > 21 ) fmt.wd -= 21;\613 if ( ! fmt.flags.nobsdp ) { if ( fmt.pc < fmt.wd ) fmt.wd -= 1; else fmt.pc -= 1; }\610 if ( fmt.wd > 22 ) fmt.wd -= 22; \ 611 /* compensate for leading 0 */ \ 612 /*if ( ! fmt.flags.nobsdp && fmt.pc < fmt.wd ) fmt.wd -= 1;*/ \ 614 613 fmt2.wd = 1; \ 615 fmt2.val = ((msig & 0x3) << 1) + 1;\614 /* printf( "R %llo %llo %llo %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \ 616 615 (ostype &)(os | fmt | "" | fmt2); \ 617 616 sepOff( os ); \ 618 617 fmt2.wd = 21; \ 619 fmt2.val = lsig & 0x7fffffffffffffff; \620 (ostype &)(os | fmt2); \621 618 } /* if */ \ 619 fmt2.val = lsig & 0x7fffffffffffffffU; \ 620 /* printf( "\nC %llo %d %d '%c' %x\n", fmt2.val, fmt2.wd, fmt2.pc, fmt2.base, fmt2.all ); */ \ 621 (ostype &)(os | fmt2); \ 622 622 } else { \ 623 623 if ( fmt.flags.pc && fmt.pc > 16 ) fmt.pc -= 16; \
Note:
See TracChangeset
for help on using the changeset viewer.