[libc-commits] [PATCH] D79192: [libc] Add integration tests.

Siva Chandra via Phabricator via libc-commits libc-commits at lists.llvm.org
Thu May 28 11:33:24 PDT 2020


sivachandra added inline comments.


================
Comment at: libc/CMakeLists.txt:85
 endif()
+add_subdirectory(lib)
----------------
Why is this change required?


================
Comment at: libc/cmake/modules/LLVMLibCLibraryRules.cmake:93
   get_object_files_for_entrypoint_library(obj_list ${fq_deps_list})
+  set(entrypoint_list  "")
   foreach(dep IN LISTS fq_deps_list)
----------------
Call this entry point *name* list throughout to avoid confusion with target names.


================
Comment at: libc/cmake/modules/LLVMLibCObjectRules.cmake:1
 set(OBJECT_LIBRARY_TARGET_TYPE "OBJECT_LIBRARY")
 
----------------
Seems to me like the changes in this file should be separated out into a different patch.


================
Comment at: libc/config/linux/entrypoints.txt:1
-
-add_entrypoint_library(
-  llvmlibc
-  DEPENDS
+set(LIBC_ENTRYPOINTS
     # assert.h entrypoints
----------------
This LGTM. But, do you think it makes sense to put this in a target machine specific directory (`config/linux/x86_64/entrypoints.txt`)? For example, almost everything under `LIBC_ENTRYPOINTS` currently is x86_64 specific. So, putting these in a machine specific list helps us build the libc for different machine types independent of each of other.


================
Comment at: libc/config/linux/headers.txt:1
+set(PUBLIC_HEADERS
+    libc.include.assert_h
----------------
The same would be true for headers also I suppose but we can do that separately as it does not interfere with the current patch?


================
Comment at: libc/lib/CMakeLists.txt:22
+
+add_libc_public_integration_test(
+  public_integration_test
----------------
AFAICT, this is the only place this rule is being used. Do you see it being used anywhere else? If not, just inline everything here. May be even put it under the `test` directory and not here?


================
Comment at: libc/utils/HdrGen/PublicAPICommand.h:42
 
+class APIReader {
+public:
----------------
I see only one specialization of this class. In which case, why is this need?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79192/new/

https://reviews.llvm.org/D79192





More information about the libc-commits mailing list