[all-commits] [llvm/llvm-project] ddc30f: [libc] Implement the 'ungetc' function on the GPU ...

Joseph Huber via All-commits all-commits at lists.llvm.org
Tue Oct 17 11:02:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ddc30ff802eb135934fc7b785d33c05217ab9e39
      https://github.com/llvm/llvm-project/commit/ddc30ff802eb135934fc7b785d33c05217ab9e39
  Author: Joseph Huber <35342157+jhuber6 at users.noreply.github.com>
  Date:   2023-10-17 (Tue, 17 Oct 2023)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/generic/CMakeLists.txt
    A libc/src/stdio/generic/ungetc.cpp
    M libc/src/stdio/gpu/CMakeLists.txt
    A libc/src/stdio/gpu/ungetc.cpp
    R libc/src/stdio/ungetc.cpp
    M libc/test/src/stdio/ungetc_test.cpp
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Implement the 'ungetc' function on the GPU (#69248)

Summary:
This function follows closely with the pattern of all the other
functions. That is, making a new opcode and forwarding the call to the
host. However, this also required modifying the test somewhat. It seems
that not all `libc` implementations follow the same error rules as are
tested here, and it is not explicit in the standard, so we simply
disable these EOF checks when targeting the GPU.




More information about the All-commits mailing list