Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#fix can't use gdb for debug #26

Open
wants to merge 258 commits into
base: main
Choose a base branch
from
Open

#fix can't use gdb for debug #26

wants to merge 258 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 15, 2020

  1. Add type cast

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    8a8ef17 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    47d0f32 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    371bcd6 View commit details
    Browse the repository at this point in the history
  4. Handle return type conversion

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    1b3f754 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7073ef4 View commit details
    Browse the repository at this point in the history
  6. Add _Bool type

    _Bool isn't just a 1-bit integer because when you convert a value
    to bool, the result is 1 if the original value is non-zero. This
    is contrary to the other small integral types, e.g. char, as you
    can see below:
    
      char x  = 256; // x is 0
      _Bool y = 256; // y is 1
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6cc4564 View commit details
    Browse the repository at this point in the history
  7. Add character literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    25031d4 View commit details
    Browse the repository at this point in the history
  8. Add enum

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    3890917 View commit details
    Browse the repository at this point in the history
  9. Support file-scope functions

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6cb743f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    cf3bb29 View commit details
    Browse the repository at this point in the history
  11. Add +=, -=, *= and /=

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b5d061d View commit details
    Browse the repository at this point in the history
  12. Add pre ++ and --

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    bc0bd86 View commit details
    Browse the repository at this point in the history
  13. Add post ++ and --

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    5383d6b View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    e56cbd6 View commit details
    Browse the repository at this point in the history
  15. Add ! operator

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    283b737 View commit details
    Browse the repository at this point in the history
  16. Add ~ operator

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    25210cc View commit details
    Browse the repository at this point in the history
  17. Add % and %=

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    268cfe9 View commit details
    Browse the repository at this point in the history
  18. Add &, |, ^, &=, |= and ^=

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    07b502d View commit details
    Browse the repository at this point in the history
  19. Add && and ||

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    3b15151 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    0f1a59c View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    4049732 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    76ea11e View commit details
    Browse the repository at this point in the history
  23. Add goto and labeled statement

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    126e3c9 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    69534d4 View commit details
    Browse the repository at this point in the history
  25. Add break statement

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    551f41d View commit details
    Browse the repository at this point in the history
  26. Add continue statement

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d9d8a78 View commit details
    Browse the repository at this point in the history
  27. Add switch-case

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e06d3c4 View commit details
    Browse the repository at this point in the history
  28. Add <<, >>, <<= and >>=

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    2738009 View commit details
    Browse the repository at this point in the history
  29. Add ?: operator

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    1bb85f9 View commit details
    Browse the repository at this point in the history
  30. Add constant expression

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    0f86cdb View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    c79ba43 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    a7beccd View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    fa46fc3 View commit details
    Browse the repository at this point in the history
  34. Add string literal initializer

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    c8eb974 View commit details
    Browse the repository at this point in the history
  35. Allow to omit array length if an initializer is given

    So that you can write something like `int x[] = {1, 2, 3}`
    instead of `int x[3] = {1, 2, 3}`.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e19416e View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    c2f325b View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    a90687a View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    68af1cd View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    609283e View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    513f415 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    f969405 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    eefa214 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    5e824d3 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    4115543 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    0c4f152 View commit details
    Browse the repository at this point in the history
  46. Add flexible array member

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    37fbe39 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    762b976 View commit details
    Browse the repository at this point in the history
  48. Accept void as a parameter list

    `foo(void)` indicate that function foo does not take a parameter.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d3e6bd9 View commit details
    Browse the repository at this point in the history
  49. Align global variables

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    2d959a0 View commit details
    Browse the repository at this point in the history
  50. Add extern

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    859ce40 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    069559e View commit details
    Browse the repository at this point in the history
  52. Add _Alignof and _Alignas

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    41687ed View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    3fd941c View commit details
    Browse the repository at this point in the history
  54. Add static local variables

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    a1e0907 View commit details
    Browse the repository at this point in the history
  55. Add compound literals

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e0b5c4b View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    89bd048 View commit details
    Browse the repository at this point in the history
  57. Add static global variables

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    36a99d1 View commit details
    Browse the repository at this point in the history
  58. Add do ... while

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    bac1a3a View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    f1c72ab View commit details
    Browse the repository at this point in the history
  60. Handle a function returning bool, char or short

    x86-64 psABI says that only the least significant 8 bits are
    significant if RAX has a return value of a function returning bool.
    Likewise, it looks like only the least significant 1 or 2 bytes
    are guaranteed to have a correct value for char and short return
    values, respectively.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e56dfc9 View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    6033be2 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    2258e01 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    046fd9e View commit details
    Browse the repository at this point in the history
  64. Add signed keyword

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e919d1f View commit details
    Browse the repository at this point in the history
  65. Add unsigned integral types

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    cba5663 View commit details
    Browse the repository at this point in the history
  66. Add U, L and LL suffixes

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    fb00249 View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    068e0d5 View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    b345ef8 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    25ec849 View commit details
    Browse the repository at this point in the history
  70. Configuration menu
    Copy the full SHA
    7ab9353 View commit details
    Browse the repository at this point in the history
  71. Configuration menu
    Copy the full SHA
    8514610 View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    1b6cf19 View commit details
    Browse the repository at this point in the history
  73. Add floating-point constant

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    93b191b View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    60e682e View commit details
    Browse the repository at this point in the history
  75. Add flonum ==, !=, < and <=

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    932853f View commit details
    Browse the repository at this point in the history
  76. Add flonum +, -, * and /

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6e26bed View commit details
    Browse the repository at this point in the history
  77. Configuration menu
    Copy the full SHA
    8c533a1 View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    cac0ab2 View commit details
    Browse the repository at this point in the history
  79. Configuration menu
    Copy the full SHA
    5957b4f View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    bd6c06e View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    b1c2ef2 View commit details
    Browse the repository at this point in the history
  82. Add flonum constant expression

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    ab90669 View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    c8b8a12 View commit details
    Browse the repository at this point in the history
  84. Add stage2 build

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    c5a6162 View commit details
    Browse the repository at this point in the history
  85. Add function pointer

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    0ed5844 View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    3455895 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    809c0e4 View commit details
    Browse the repository at this point in the history
  88. Split cc1 from compiler driver

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    fdf60e5 View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    e0c91ed View commit details
    Browse the repository at this point in the history
  90. Accept multiple input files

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    0093ad6 View commit details
    Browse the repository at this point in the history
  91. Run "ld" unless -c is given

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e57f205 View commit details
    Browse the repository at this point in the history
  92. Add a do-nothing preprocessor

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    2a77cbf View commit details
    Browse the repository at this point in the history
  93. Add the null directive

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    db25108 View commit details
    Browse the repository at this point in the history
  94. Add #include "..."

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    181db7b View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    3049c70 View commit details
    Browse the repository at this point in the history
  96. Add -E option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    3d7234f View commit details
    Browse the repository at this point in the history
  97. Add #if and #endif

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    a7f8216 View commit details
    Browse the repository at this point in the history
  98. Configuration menu
    Copy the full SHA
    8d11fb7 View commit details
    Browse the repository at this point in the history
  99. Add #else

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    cb24e04 View commit details
    Browse the repository at this point in the history
  100. Add #elif

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    482a4bb View commit details
    Browse the repository at this point in the history
  101. Add objlike #define

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    406d071 View commit details
    Browse the repository at this point in the history
  102. Add #undef

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b4ef316 View commit details
    Browse the repository at this point in the history
  103. Configuration menu
    Copy the full SHA
    70442c3 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    db5b291 View commit details
    Browse the repository at this point in the history
  105. Add #ifdef and #ifndef

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e141a91 View commit details
    Browse the repository at this point in the history
  106. Configuration menu
    Copy the full SHA
    2b0baf2 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    952355f View commit details
    Browse the repository at this point in the history
  108. Allow empty macro arguments

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    dfff759 View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    09c5b33 View commit details
    Browse the repository at this point in the history
  110. Configuration menu
    Copy the full SHA
    e3ce007 View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    995aa74 View commit details
    Browse the repository at this point in the history
  112. Configuration menu
    Copy the full SHA
    c5e6f6f View commit details
    Browse the repository at this point in the history
  113. Configuration menu
    Copy the full SHA
    76c681c View commit details
    Browse the repository at this point in the history
  114. Add defined() macro operator

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d6f33a8 View commit details
    Browse the repository at this point in the history
  115. Configuration menu
    Copy the full SHA
    c7dcbbf View commit details
    Browse the repository at this point in the history
  116. Configuration menu
    Copy the full SHA
    c0b5931 View commit details
    Browse the repository at this point in the history
  117. Support line continuation

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    7c5d75d View commit details
    Browse the repository at this point in the history
  118. Add #include <...>

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    88a5529 View commit details
    Browse the repository at this point in the history
  119. Add -I<dir> option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e54105d View commit details
    Browse the repository at this point in the history
  120. Add default include paths

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    ca0dee1 View commit details
    Browse the repository at this point in the history
  121. Add #error

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d5ca66f View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    4559ea7 View commit details
    Browse the repository at this point in the history
  123. Add __FILE__ and __LINE__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    ad60fe1 View commit details
    Browse the repository at this point in the history
  124. Add __VA_ARGS__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e5ab35a View commit details
    Browse the repository at this point in the history
  125. Add __func__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    10102b3 View commit details
    Browse the repository at this point in the history
  126. [GNU] Add __FUNCTION__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    5eec02c View commit details
    Browse the repository at this point in the history
  127. Configuration menu
    Copy the full SHA
    2d737a1 View commit details
    Browse the repository at this point in the history
  128. Recognize wide character literal

    For now, L'' is equivalent to ''.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    61529cc View commit details
    Browse the repository at this point in the history
  129. Configuration menu
    Copy the full SHA
    4116262 View commit details
    Browse the repository at this point in the history
  130. Add va_arg()

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    3830b25 View commit details
    Browse the repository at this point in the history
  131. Configuration menu
    Copy the full SHA
    4357e08 View commit details
    Browse the repository at this point in the history
  132. Configuration menu
    Copy the full SHA
    6b317dc View commit details
    Browse the repository at this point in the history
  133. Configuration menu
    Copy the full SHA
    f76716c View commit details
    Browse the repository at this point in the history
  134. Allow struct parameter

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b0e187b View commit details
    Browse the repository at this point in the history
  135. Allow struct argument

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    5195030 View commit details
    Browse the repository at this point in the history
  136. Configuration menu
    Copy the full SHA
    7f42093 View commit details
    Browse the repository at this point in the history
  137. Configuration menu
    Copy the full SHA
    7dd60c1 View commit details
    Browse the repository at this point in the history
  138. Configuration menu
    Copy the full SHA
    b36506c View commit details
    Browse the repository at this point in the history
  139. Add va_copy()

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e64975f View commit details
    Browse the repository at this point in the history
  140. Dereferencing a function shouldn't do anything

    This is an oddity in the C spec, but you can apply the unary `*`
    operator to a function as many times as you want. `*x` and `x`
    means exactly the same, given that `x` is a function.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    421a1a3 View commit details
    Browse the repository at this point in the history
  141. Configuration menu
    Copy the full SHA
    7b5c86c View commit details
    Browse the repository at this point in the history
  142. Add -D option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6a66595 View commit details
    Browse the repository at this point in the history
  143. Add -U option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    0fe8a7b View commit details
    Browse the repository at this point in the history
  144. Add bitfield

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    665b2b1 View commit details
    Browse the repository at this point in the history
  145. Configuration menu
    Copy the full SHA
    a077f81 View commit details
    Browse the repository at this point in the history
  146. Configuration menu
    Copy the full SHA
    d42d5b4 View commit details
    Browse the repository at this point in the history
  147. Configuration menu
    Copy the full SHA
    5f8e758 View commit details
    Browse the repository at this point in the history
  148. Configuration menu
    Copy the full SHA
    66a1fe2 View commit details
    Browse the repository at this point in the history
  149. Write to an in-memory buffer before writing to an actual output file

    We don't want to leave a partial assembly output if the compiler
    fails during compilation.
    
    Technically speaking, there's still a risk of leaving a partially-
    written output file if the compiler dies during file copy. To fix
    that, we have to write to a temporary file in the same filesystem as
    the final output file and rename the temporary file to atomically
    replace the output file. We don't do that in this patch for the sake
    of succinctness, though.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    c5dbab8 View commit details
    Browse the repository at this point in the history
  150. Configuration menu
    Copy the full SHA
    1ac475c View commit details
    Browse the repository at this point in the history
  151. Configuration menu
    Copy the full SHA
    8809f6c View commit details
    Browse the repository at this point in the history
  152. Make an array of at least 16 bytes long to have alignment of at least…

    … 16 bytes
    
    Quote from AMD64 System V ABI: "An array uses the same alignment as
    its elements, except that a local or global array variable of length
    at least 16 bytes or a C99 variable-length array variable always has
    alignment of at least 16 bytes."
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    a03f271 View commit details
    Browse the repository at this point in the history
  153. Configuration menu
    Copy the full SHA
    ae60eaf View commit details
    Browse the repository at this point in the history
  154. Add anonymous struct and union

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d7cf3ce View commit details
    Browse the repository at this point in the history
  155. Configuration menu
    Copy the full SHA
    50faed9 View commit details
    Browse the repository at this point in the history
  156. [GNU] Add __COUNTER__ macro

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    68a4f94 View commit details
    Browse the repository at this point in the history
  157. Canonicalize newline character

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    69e6206 View commit details
    Browse the repository at this point in the history
  158. Add \u and \U escape sequences

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    12dbc90 View commit details
    Browse the repository at this point in the history
  159. Accept multibyte character as wide character literal

    On most Unix-like systems, wide character literal is 32-bit long
    and encodes a Unicode code point. On Windows, that is 16-bit
    long and encodes a UTF-16 code unit. Clearly, there's a portability
    issue here. Personally I've never used wide characters in my code
    as I didn't find it useful.
    
    Being said that, some header files contain wide character literal,
    so we need to support that so that chibicc can include such files.
    
    We assume that source files are always encoded in UTF-8.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    68fcfb2 View commit details
    Browse the repository at this point in the history
  160. Add UTF-16 character literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    cc0818f View commit details
    Browse the repository at this point in the history
  161. Add UTF-32 character literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    dac24e5 View commit details
    Browse the repository at this point in the history
  162. Add UTF-8 string literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    8824778 View commit details
    Browse the repository at this point in the history
  163. Add UTF-16 string literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    fbe75f9 View commit details
    Browse the repository at this point in the history
  164. Add UTF-32 string literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    29a7909 View commit details
    Browse the repository at this point in the history
  165. Add wide string literal

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6c904b6 View commit details
    Browse the repository at this point in the history
  166. Configuration menu
    Copy the full SHA
    f80c7ac View commit details
    Browse the repository at this point in the history
  167. Configuration menu
    Copy the full SHA
    477a7c0 View commit details
    Browse the repository at this point in the history
  168. Define __STDC_UTF_{16,32}__ macros

    These predefined macros indicates that our u and U chars/strings
    are UTF-16 and UTF-32-encoded, respectively.
    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    3d417da View commit details
    Browse the repository at this point in the history
  169. Configuration menu
    Copy the full SHA
    0037a0b View commit details
    Browse the repository at this point in the history
  170. Configuration menu
    Copy the full SHA
    f4e3cbf View commit details
    Browse the repository at this point in the history
  171. Configuration menu
    Copy the full SHA
    efb5832 View commit details
    Browse the repository at this point in the history
  172. Skip UTF-8 BOM markers

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    a87ff7a View commit details
    Browse the repository at this point in the history
  173. Configuration menu
    Copy the full SHA
    f7468b1 View commit details
    Browse the repository at this point in the history
  174. Configuration menu
    Copy the full SHA
    083e767 View commit details
    Browse the repository at this point in the history
  175. Configuration menu
    Copy the full SHA
    96ebbe9 View commit details
    Browse the repository at this point in the history
  176. Configuration menu
    Copy the full SHA
    11b0dc6 View commit details
    Browse the repository at this point in the history
  177. Configuration menu
    Copy the full SHA
    7db650a View commit details
    Browse the repository at this point in the history
  178. Configuration menu
    Copy the full SHA
    405315b View commit details
    Browse the repository at this point in the history
  179. Configuration menu
    Copy the full SHA
    2319938 View commit details
    Browse the repository at this point in the history
  180. Add #line

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b96c22d View commit details
    Browse the repository at this point in the history
  181. Configuration menu
    Copy the full SHA
    68dffc3 View commit details
    Browse the repository at this point in the history
  182. [GNU] Add __TIMESTAMP__ macro

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    ff1f2d1 View commit details
    Browse the repository at this point in the history
  183. [GNU] Add __BASE_FILE__ macro

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6c0ccaa View commit details
    Browse the repository at this point in the history
  184. Add __VA_OPT__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b2746d4 View commit details
    Browse the repository at this point in the history
  185. [GNU] Handle ,##__VA_ARG__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    15c76f9 View commit details
    Browse the repository at this point in the history
  186. Ignore #pragma

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    9b4e257 View commit details
    Browse the repository at this point in the history
  187. Configuration menu
    Copy the full SHA
    ec78c2e View commit details
    Browse the repository at this point in the history
  188. Add typeof

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d13b10a View commit details
    Browse the repository at this point in the history
  189. Configuration menu
    Copy the full SHA
    86cf40f View commit details
    Browse the repository at this point in the history
  190. Add _Generic

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    ec844b9 View commit details
    Browse the repository at this point in the history
  191. Configuration menu
    Copy the full SHA
    7f2f303 View commit details
    Browse the repository at this point in the history
  192. Configuration menu
    Copy the full SHA
    91b284c View commit details
    Browse the repository at this point in the history
  193. Add basic "asm" statement

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    e13b1d6 View commit details
    Browse the repository at this point in the history
  194. Configuration menu
    Copy the full SHA
    9620653 View commit details
    Browse the repository at this point in the history
  195. Configuration menu
    Copy the full SHA
    c147cde View commit details
    Browse the repository at this point in the history
  196. Configuration menu
    Copy the full SHA
    6c2e7f9 View commit details
    Browse the repository at this point in the history
  197. Add -idirafter option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    24a1bdb View commit details
    Browse the repository at this point in the history
  198. Add offsetof

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    18e0053 View commit details
    Browse the repository at this point in the history
  199. Add tentative definition

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6d8aeb6 View commit details
    Browse the repository at this point in the history
  200. Configuration menu
    Copy the full SHA
    1886c09 View commit details
    Browse the repository at this point in the history
  201. Add thread-local variable

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    1284e90 View commit details
    Browse the repository at this point in the history
  202. Add -include option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b19ec6f View commit details
    Browse the repository at this point in the history
  203. Add -x option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    86003b6 View commit details
    Browse the repository at this point in the history
  204. Make -E to imply -xc

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    ac2b8ef View commit details
    Browse the repository at this point in the history
  205. Add alloca()

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    f1656f1 View commit details
    Browse the repository at this point in the history
  206. Add sizeof() for VLA

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    1481d1b View commit details
    Browse the repository at this point in the history
  207. Add pointer arithmetic for VLA

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d401baf View commit details
    Browse the repository at this point in the history
  208. Configuration menu
    Copy the full SHA
    e048508 View commit details
    Browse the repository at this point in the history
  209. Do not define __STDC_NO_VLA__

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    bb8e09c View commit details
    Browse the repository at this point in the history
  210. Add -l option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    c6ae421 View commit details
    Browse the repository at this point in the history
  211. Add -s option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    442ea3c View commit details
    Browse the repository at this point in the history
  212. Emit size and type for symbols

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    5a9622e View commit details
    Browse the repository at this point in the history
  213. Recognize .a and .so files

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    470645d View commit details
    Browse the repository at this point in the history
  214. Add long double

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    d385947 View commit details
    Browse the repository at this point in the history
  215. [GNU] Support case ranges

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    0b9218c View commit details
    Browse the repository at this point in the history
  216. Configuration menu
    Copy the full SHA
    f37ec40 View commit details
    Browse the repository at this point in the history
  217. [GNU] Support labels-as-values

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    f92240d View commit details
    Browse the repository at this point in the history
  218. Configuration menu
    Copy the full SHA
    9652442 View commit details
    Browse the repository at this point in the history
  219. Add string hashmap

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    6b8df9c View commit details
    Browse the repository at this point in the history
  220. Configuration menu
    Copy the full SHA
    c688a49 View commit details
    Browse the repository at this point in the history
  221. Configuration menu
    Copy the full SHA
    55a40b2 View commit details
    Browse the repository at this point in the history
  222. Use hashmap for keyword lookup

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    0fb4106 View commit details
    Browse the repository at this point in the history
  223. Add -M option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    a3618bb View commit details
    Browse the repository at this point in the history
  224. Add -MF option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    a3523f2 View commit details
    Browse the repository at this point in the history
  225. Add -MP option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    8db128c View commit details
    Browse the repository at this point in the history
  226. Add -MT option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    f33e711 View commit details
    Browse the repository at this point in the history
  227. Add -MD option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    004cbb0 View commit details
    Browse the repository at this point in the history
  228. Add -MQ option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    205bb4d View commit details
    Browse the repository at this point in the history
  229. Add -MMD option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    7f2a0dc View commit details
    Browse the repository at this point in the history
  230. Add -fpic and -fPIC options

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    fb50b62 View commit details
    Browse the repository at this point in the history
  231. Cache file search results

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    240265d View commit details
    Browse the repository at this point in the history
  232. Add include guard optimization

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    fcf7403 View commit details
    Browse the repository at this point in the history
  233. [GNU] Add "#pragma once"

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    fdf57bf View commit details
    Browse the repository at this point in the history
  234. [GNU] Add #include_next

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    866cb64 View commit details
    Browse the repository at this point in the history
  235. Add -static option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    3c3ab57 View commit details
    Browse the repository at this point in the history
  236. Add -shared option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b2db713 View commit details
    Browse the repository at this point in the history
  237. Add -L option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    cf2ee2c View commit details
    Browse the repository at this point in the history
  238. Add -Wl, option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    f955405 View commit details
    Browse the repository at this point in the history
  239. Add -Xlinker option

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    9bc5c64 View commit details
    Browse the repository at this point in the history
  240. Configuration menu
    Copy the full SHA
    296ce42 View commit details
    Browse the repository at this point in the history
  241. Add atomic_compare_exchange

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    aa9a9d3 View commit details
    Browse the repository at this point in the history
  242. Add atomic_exchange

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    1bb084e View commit details
    Browse the repository at this point in the history
  243. Configuration menu
    Copy the full SHA
    7a9996a View commit details
    Browse the repository at this point in the history
  244. Complete stdatomic.h

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    8e6af0d View commit details
    Browse the repository at this point in the history
  245. Add test/thirdparty/cpython.sh

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    23be507 View commit details
    Browse the repository at this point in the history
  246. redefinition

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    364fab6 View commit details
    Browse the repository at this point in the history
  247. Add __attribute__((packed))

    rui314 committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    86e9f21 View commit details
    Browse the repository at this point in the history
  248. Configuration menu
    Copy the full SHA
    e054dd7 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2020

  1. Update README

    rui314 committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    bf436cc View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. #fix can't use gdb for debug

    brewlin committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    d576106 View commit details
    Browse the repository at this point in the history