boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

lex-char-unsigned.after (596B)


      1         if (!is_long) {
      2             /* C99 §6.4.4.4¶10: an integer character constant has type
      3              * `int`. The value is what you get from converting an
      4              * object of type `char` (whose value is the byte) to int.
      5              * Plain `char` signedness is implementation-defined; on
      6              * aarch64 AAPCS (and most modern ABIs) it is unsigned, so
      7              * '\xFF' must yield 255, not -1. tcc 0.9.26 unconditionally
      8              * sign-extended via int8_t — read as uint8_t instead. */
      9             tokc.i = *(uint8_t *)tokcstr.data;
     10             tok = TOK_CCHAR;