Skip to content

[libc] newheadergen: configured cmake #98828

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

Merged
merged 18 commits into from
Jul 17, 2024
Merged

Conversation

aaryanshukla
Copy link
Contributor

  • all headers in the build system are generated by newheadergen
  • tested on gpu-build

@llvmbot llvmbot added the libc label Jul 14, 2024
@llvmbot
Copy link
Member

llvmbot commented Jul 14, 2024

@llvm/pr-subscribers-libc

Author: None (aaryanshukla)

Changes
  • all headers in the build system are generated by newheadergen
  • tested on gpu-build

Full diff: https://github.com/llvm/llvm-project/pull/98828.diff

2 Files Affected:

  • (modified) libc/cmake/modules/LLVMLibCHeaderRules.cmake (+115-16)
  • (modified) libc/include/CMakeLists.txt (+102-53)
diff --git a/libc/cmake/modules/LLVMLibCHeaderRules.cmake b/libc/cmake/modules/LLVMLibCHeaderRules.cmake
index 7fc6860f23eb2..1bcca5f19577c 100644
--- a/libc/cmake/modules/LLVMLibCHeaderRules.cmake
+++ b/libc/cmake/modules/LLVMLibCHeaderRules.cmake
@@ -66,7 +66,106 @@ function(add_header target_name)
   )
 endfunction(add_header)
 
-# A rule for generated header file targets.
+function(add_gen_header2 target_name)
+  cmake_parse_arguments(
+    "ADD_GEN_HDR2"
+    "PUBLIC" # No optional arguments
+    "YAML_FILE;DEF_FILE;GEN_HDR" # Single value arguments
+    "DEPENDS"     # Multi value arguments
+    ${ARGN}
+  )
+  get_fq_target_name(${target_name} fq_target_name)
+  if(NOT LLVM_LIBC_FULL_BUILD)
+    add_library(${fq_target_name} INTERFACE)
+    return()
+  endif()
+  if(NOT ADD_GEN_HDR2_DEF_FILE)
+    mesage(FATAL_ERROR "`add_gen_hdr2` rule requires DEF_FILE to be specified.")
+  endif()
+  if(NOT ADD_GEN_HDR2_GEN_HDR)
+    message(FATAL_ERROR "`add_gen_hdr2` rule requires GEN_HDR to be specified.")
+  endif()
+  if(NOT ADD_GEN_HDR2_YAML_FILE)
+    message(FATAL_ERROR "`add_gen_hdr2` rule requires YAML_FILE to be specified.")
+  endif()
+
+  set(absolute_path ${CMAKE_CURRENT_SOURCE_DIR}/${ADD_GEN_HDR2_GEN_HDR})
+  file(RELATIVE_PATH relative_path ${LIBC_INCLUDE_SOURCE_DIR} ${absolute_path})
+  set(out_file ${LIBC_INCLUDE_DIR}/${relative_path})
+  set(yaml_file ${CMAKE_SOURCE_DIR}/${ADD_GEN_HDR2_YAML_FILE})
+  set(def_file ${CMAKE_CURRENT_SOURCE_DIR}/${ADD_GEN_HDR2_DEF_FILE})
+
+  set(fq_data_files "")
+  if(ADD_GEN_HDR2_DATA_FILES)
+    foreach(data_file IN 2LISTS ADD_GEN_HDR2_DATA_FILES)
+      list(APPEND fq_data_files "${CMAKE_CURRENT_SOURCE_DIR}/${data_file}")
+    endforeach(data_file)
+  endif()
+
+  set(entry_points "${TARGET_ENTRYPOINT_NAME_LIST}")
+  list(TRANSFORM entry_points PREPEND "--e=")
+
+  add_custom_command(
+    OUTPUT ${out_file}
+    COMMAND ${Python3_EXECUTABLE} ${LIBC_SOURCE_DIR}/newhdrgen/yaml_to_classes.py
+            ${yaml_file}
+            --h_def_file ${def_file}
+            ${entry_points}
+            --output_dir ${out_file}
+    DEPENDS ${yaml_file} ${def_file} ${fq_data_files}
+    COMMENT "Generating header ${ADD_GEN_HDR2_GE2N_HDR} from ${yaml_file} and ${def_file}"
+  )
+  if(LIBC_TARGET_OS_IS_GPU)
+    file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/llvm-libc-decls)
+    file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/llvm-libc-decls/gpu)
+    set(decl_out_file ${LIBC_INCLUDE_DIR}/llvm-libc-decls/${relative_path})
+    add_custom_command(
+      OUTPUT ${decl_out_file}
+      COMMAND ${Python3_EXECUTABLE} ${LIBC_SOURCE_DIR}/newhdrgen/yaml_to_classes.py
+              ${yaml_file}
+              --export-decls
+              ${entry_points}
+              --output_dir ${decl_out_file}
+      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+      DEPENDS ${yaml_file} ${fq_data_files}
+    )
+  endif()
+  2
+  if(ADD_GEN_HDR2_DEPENDS)
+    get_fq_deps_list(f2q_deps_list ${ADD_GEN_HDR2_DEPENDS})
+    # Dependencies of a add_header target can only be another add_gen_header target
+    # or an add_header target.
+    foreach(dep IN LISTS fq_deps_list)
+      get_target_property(header_file ${dep} HEADER_FILE_PATH)
+      if(NOT header_file)
+        message(FATAL_ERROR "Invalid dependency '${dep}' for '${fq_target_name}'.")
+      endif()
+    endforeach()
+  endif()
+  set(generated_hdr_target ${fq_target_name}.__generated_hdr__)
+  add_custom_target(
+    ${generated_hdr_target}
+    DEPENDS ${out_file} ${fq_deps_list} ${decl_out_file}
+  )
+
+  add_header_library(
+    ${target_name}
+    HDRS
+      ${out_file}
+  )
+
+  add_dependencies(${fq_target_name} ${generated_hdr_target})
+
+  set_target_properties(
+    ${fq_target_name}
+    PROPERTIES
+      HEADER_FILE_PATH ${out_file}
+      DEPS "${fq_deps_list}"
+  )
+
+
+endfunction(add_gen_header2)
+
 # Usage:
 #     add_gen_header(
 #       <target name>
@@ -140,22 +239,22 @@ function(add_gen_header target_name)
   )
 
   if(LIBC_TARGET_OS_IS_GPU)
-    file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/llvm-libc-decls)
-    file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/llvm-libc-decls/gpu)
-    set(decl_out_file ${LIBC_INCLUDE_DIR}/llvm-libc-decls/${relative_path})
-    add_custom_command(
-      OUTPUT ${decl_out_file}
-      COMMAND ${hdrgen_exe} -o ${decl_out_file}
-              --header ${ADD_GEN_HDR_GEN_HDR} --def ${in_file} --export-decls
-              ${replacement_params} -I ${LIBC_SOURCE_DIR} ${ENTRYPOINT_NAME_LIST_ARG}
-              ${LIBC_SOURCE_DIR}/config/${LIBC_TARGET_OS}/api.td
+  file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/llvm-libc-decls)
+  file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/llvm-libc-decls/gpu)
+  set(decl_out_file ${LIBC_INCLUDE_DIR}/llvm-libc-decls/${relative_path})
+  add_custom_command(
+    OUTPUT ${decl_out_file}
+    COMMAND ${hdrgen_exe} -o ${decl_out_file}
+            --header ${ADD_GEN_HDR_GEN_HDR} --def ${in_file} --export-decls
+            ${replacement_params} -I ${LIBC_SOURCE_DIR} ${ENTRYPOINT_NAME_LIST_ARG}
+            ${LIBC_SOURCE_DIR}/config/${LIBC_TARGET_OS}/api.td
 
-      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-      DEPENDS ${in_file} ${fq_data_files} ${td_includes}
-              ${LIBC_SOURCE_DIR}/config/${LIBC_TARGET_OS}/api.td
-              ${hdrgen_deps}
-    )
-  endif()
+    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    DEPENDS ${in_file} ${fq_data_files} ${td_includes}
+            ${LIBC_SOURCE_DIR}/config/${LIBC_TARGET_OS}/api.td
+            ${hdrgen_deps}
+  )
+endif()
 
   if(ADD_GEN_HDR_DEPENDS)
     get_fq_deps_list(fq_deps_list ${ADD_GEN_HDR_DEPENDS})
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt
index 2cf7206f3a625..8e9942fac69e1 100644
--- a/libc/include/CMakeLists.txt
+++ b/libc/include/CMakeLists.txt
@@ -17,16 +17,18 @@ add_header(
     __llvm-libc-common.h
 )
 
-add_gen_header(
+add_gen_header2(
   ctype
+  YAML_FILE ../libc/newhdrgen/yaml/ctype.yaml
   DEF_FILE ctype.h.def
   GEN_HDR ctype.h
   DEPENDS
     .llvm_libc_common_h
 )
 
-add_gen_header(
+add_gen_header2(
   dirent
+  YAML_FILE ../libc/newhdrgen/yaml/dirent.yaml
   DEF_FILE dirent.h.def
   GEN_HDR dirent.h
   DEPENDS
@@ -36,8 +38,9 @@ add_gen_header(
     .llvm-libc-types.struct_dirent
 )
 
-add_gen_header(
+add_gen_header2(
   fcntl
+  YAML_FILE ../libc/newhdrgen/yaml/fcntl.yaml
   DEF_FILE fcntl.h.def
   GEN_HDR fcntl.h
   DEPENDS
@@ -51,8 +54,9 @@ add_gen_header(
     .llvm_libc_common_h
 )
 
-add_gen_header(
+add_gen_header2(
   dlfcn
+  YAML_FILE ../libc/newhdrgen/yaml/dlfcn.yaml
   DEF_FILE dlfcn.h.def
   GEN_HDR dlfcn.h
   DEPENDS
@@ -60,8 +64,9 @@ add_gen_header(
     .llvm_libc_common_h
 )
 
-add_gen_header(
+add_gen_header2(
   features
+  YAML_FILE ../libc/newhdrgen/yaml/features.yaml
   DEF_FILE features.h.def
   GEN_HDR features.h
   DEPENDS
@@ -69,8 +74,9 @@ add_gen_header(
     .llvm-libc-macros.features_macros
 )
 
-add_gen_header(
+add_gen_header2(
   fenv
+  YAML_FILE ../libc/newhdrgen/yaml/fenv.yaml
   DEF_FILE fenv.h.def
   GEN_HDR fenv.h
   DEPENDS
@@ -80,8 +86,9 @@ add_gen_header(
     .llvm-libc-types.fexcept_t
 )
 
-add_gen_header(
+add_gen_header2(
   inttypes
+  YAML_FILE ../libc/newhdrgen/yaml/inttypes.yaml
   DEF_FILE inttypes.h.def
   GEN_HDR inttypes.h
   DEPENDS
@@ -90,46 +97,50 @@ add_gen_header(
     .llvm-libc-macros.inttypes_macros
 )
 
-add_gen_header(
+add_gen_header2(
   float
+  YAML_FILE ../libc/newhdrgen/yaml/float.yaml
   DEF_FILE float.h.def
   GEN_HDR float.h
   DEPENDS
     .llvm-libc-macros.float_macros
 )
 
-add_gen_header(
+add_gen_header2(
   stdint
+  YAML_FILE ../libc/newhdrgen/yaml/stdint.yaml
   DEF_FILE stdint.h.def
   GEN_HDR stdint.h
   DEPENDS
     .llvm-libc-macros.stdint_macros
 )
 
-add_gen_header(
+add_gen_header2(
   limits
+  YAML_FILE ../libc/newhdrgen/yaml/limits.yaml
   DEF_FILE limits.h.def
   GEN_HDR limits.h
   DEPENDS
     .llvm-libc-macros.limits_macros
 )
 
-add_gen_header(
+add_gen_header2(
   math
+  YAML_FILE ../libc/newhdrgen/yaml/math.yaml
   DEF_FILE math.h.def
   GEN_HDR math.h
   DEPENDS
     .llvm_libc_common_h
     .llvm-libc-macros.float16_macros
     .llvm-libc-macros.math_macros
-    .llvm-libc-macros.math_function_macros
     .llvm-libc-types.double_t
     .llvm-libc-types.float_t
     .llvm-libc-types.float128
 )
 
-add_gen_header(
+add_gen_header2(
   stdfix
+  YAML_FILE ../libc/newhdrgen/yaml/stdfix.yaml
   DEF_FILE stdfix.h.def
   GEN_HDR stdfix.h
   DEPENDS
@@ -139,15 +150,16 @@ add_gen_header(
 # TODO: This should be conditional on POSIX networking being included.
 file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/arpa)
 
-add_gen_header(
+add_gen_header2(
   arpa_inet
+  YAML_FILE ../libc/newhdrgen/yaml/arpa_inet.yaml
   DEF_FILE arpa/inet.h.def
   GEN_HDR arpa/inet.h
   DEPENDS
     .llvm_libc_common_h
 )
 
-add_gen_header(
+add_gen_header2(
   assert
   DEF_FILE assert.h.def
   GEN_HDR assert.h
@@ -156,8 +168,9 @@ add_gen_header(
     .llvm-libc-macros.assert_macros
 )
 
-add_gen_header(
+add_gen_header2(
   setjmp
+  YAML_FILE ../libc/newhdrgen/yaml/setjmp.yaml
   DEF_FILE setjmp.h.def
   GEN_HDR setjmp.h
   DEPENDS
@@ -165,8 +178,9 @@ add_gen_header(
     .llvm-libc-types.jmp_buf
 )
 
-add_gen_header(
+add_gen_header2(
   string
+  YAML_FILE ../libc/newhdrgen/yaml/string.yaml
   DEF_FILE string.h.def
   GEN_HDR string.h
   DEPENDS
@@ -175,8 +189,9 @@ add_gen_header(
     .llvm-libc-types.size_t
 )
 
-add_gen_header(
+add_gen_header2(
   strings
+  YAML_FILE ../libc/newhdrgen/yaml/strings.yaml
   DEF_FILE strings.h.def
   GEN_HDR strings.h
   DEPENDS
@@ -184,8 +199,9 @@ add_gen_header(
     .llvm-libc-types.size_t
 )
 
-add_gen_header(
+add_gen_header2(
   search
+  YAML_FILE ../libc/newhdrgen/yaml/search.yaml
   DEF_FILE search.h.def
   GEN_HDR search.h
   DEPENDS
@@ -196,8 +212,9 @@ add_gen_header(
     .llvm-libc-types.size_t
 )
 
-add_gen_header(
+add_gen_header2(
   time
+  YAML_FILE ../libc/newhdrgen/yaml/time.yaml
   DEF_FILE time.h.def
   GEN_HDR time.h
   DEPENDS
@@ -211,8 +228,9 @@ add_gen_header(
     .llvm-libc-types.clockid_t
 )
 
-add_gen_header(
+add_gen_header2(
   threads
+  YAML_FILE ../libc/newhdrgen/yaml/threads.yaml
   DEF_FILE threads.h.def
   GEN_HDR threads.h
   DEPENDS
@@ -227,8 +245,9 @@ add_gen_header(
     .llvm-libc-types.tss_dtor_t
 )
 
-add_gen_header(
+add_gen_header2(
   errno
+  YAML_FILE ../libc/newhdrgen/yaml/errno.yaml
   DEF_FILE errno.h.def
   GEN_HDR errno.h
   DEPENDS
@@ -236,8 +255,9 @@ add_gen_header(
     .llvm-libc-macros.error_number_macros
 )
 
-add_gen_header(
+add_gen_header2(
   signal
+  YAML_FILE ../libc/newhdrgen/yaml/signal.yaml
   DEF_FILE signal.h.def
   GEN_HDR signal.h
   DEPENDS
@@ -251,8 +271,9 @@ add_gen_header(
     .llvm-libc-types.pid_t
 )
 
-add_gen_header(
+add_gen_header2(
   stdbit
+  YAML_FILE ../libc/newhdrgen/yaml/stdbit.yaml
   DEF_FILE stdbit.h.def
   GEN_HDR stdbit.h
   DEPENDS
@@ -260,8 +281,9 @@ add_gen_header(
     .llvm-libc-macros.stdbit_macros
 )
 
-add_gen_header(
+add_gen_header2(
   stdckdint
+  YAML_FILE ../libc/newhdrgen/yaml/stdckdint.yaml
   DEF_FILE stdckdint.h.def
   GEN_HDR stdckdint.h
   DEPENDS
@@ -269,8 +291,9 @@ add_gen_header(
     .llvm-libc-macros.stdckdint_macros
 )
 
-add_gen_header(
+add_gen_header2(
   stdio
+  YAML_FILE ../libc/newhdrgen/yaml/stdio.yaml
   DEF_FILE stdio.h.def
   GEN_HDR stdio.h
   DEPENDS
@@ -284,8 +307,9 @@ add_gen_header(
     .llvm_libc_common_h
 )
 
-add_gen_header(
+add_gen_header2(
   stdlib
+  YAML_FILE ../libc/newhdrgen/yaml/stdlib.yaml
   DEF_FILE stdlib.h.def
   GEN_HDR stdlib.h
   DEPENDS
@@ -301,8 +325,9 @@ add_gen_header(
     .llvm-libc-types.__atexithandler_t
 )
 
-add_gen_header(
+add_gen_header2(
   unistd
+  YAML_FILE ../libc/newhdrgen/yaml/unistd.yaml
   DEF_FILE unistd.h.def
   GEN_HDR unistd.h
   DEPENDS
@@ -319,8 +344,9 @@ add_gen_header(
     .llvm-libc-types.__getoptargv_t
 )
 
-add_gen_header(
+add_gen_header2(
   pthread
+  YAML_FILE ../libc/newhdrgen/yaml/pthread.yaml
   DEF_FILE pthread.h.def
   GEN_HDR pthread.h
   DEPENDS
@@ -340,8 +366,9 @@ add_gen_header(
     .llvm-libc-types.pthread_t
 )
 
-add_gen_header(
+add_gen_header2(
   sched
+  YAML_FILE ../libc/newhdrgen/yaml/sched.yaml
   DEF_FILE sched.h.def
   GEN_HDR sched.h
   DEPENDS
@@ -356,8 +383,9 @@ add_gen_header(
     .llvm-libc-types.struct_timespec
 )
 
-add_gen_header(
+add_gen_header2(
   spawn
+  YAML_FILE ../libc/newhdrgen/yaml/spawn.yaml
   DEF_FILE spawn.h.def
   GEN_HDR spawn.h
   DEPENDS
@@ -373,8 +401,9 @@ add_gen_header(
 # them.
 file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/sys)
 
-add_gen_header(
+add_gen_header2(
   sys_auxv
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_auxv.yaml
   DEF_FILE sys/auxv.h.def
   GEN_HDR sys/auxv.h
   DEPENDS
@@ -382,8 +411,9 @@ add_gen_header(
     .llvm-libc-macros.sys_auxv_macros
 )
 
-add_gen_header(
+add_gen_header2(
   sys_epoll
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_epoll.yaml
   DEF_FILE sys/epoll.h.def
   GEN_HDR sys/epoll.h
   DEPENDS
@@ -394,8 +424,9 @@ add_gen_header(
     .llvm-libc-macros.sys_epoll_macros
 )
 
-add_gen_header(
+add_gen_header2(
   sys_ioctl
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_ioctl.yaml
   DEF_FILE sys/ioctl.h.def
   GEN_HDR sys/ioctl.h
   DEPENDS
@@ -403,8 +434,9 @@ add_gen_header(
     .llvm-libc-macros.sys_ioctl_macros
 )
 
-add_gen_header(
+add_gen_header2(
   sys_mman
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_mman.yaml
   DEF_FILE sys/mman.h.def
   GEN_HDR sys/mman.h
   DEPENDS
@@ -415,8 +447,9 @@ add_gen_header(
     .llvm-libc-types.ssize_t
 )
 
-add_gen_header(
+add_gen_header2(
   sys_prctl
+  YAML_FILE ../libc/newhdrgen/yaml/sys_prctl.yaml
   DEF_FILE sys/prctl.h.def
   GEN_HDR sys/prctl.h
   DEPENDS
@@ -431,8 +464,9 @@ add_header(
     .llvm-libc-macros.sys_queue_macros
 )
 
-add_gen_header(
+add_gen_header2(
   sys_random
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_random.yaml
   DEF_FILE sys/random.h.def
   GEN_HDR sys/random.h
   DEPENDS
@@ -442,8 +476,9 @@ add_gen_header(
     .llvm-libc-types.ssize_t
 )
 
-add_gen_header(
+add_gen_header2(
   sys_resource
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_resource.yaml
   DEF_FILE sys/resource.h.def
   GEN_HDR sys/resource.h
   DEPENDS
@@ -453,8 +488,9 @@ add_gen_header(
     .llvm-libc-types.struct_rlimit
 )
 
-add_gen_header(
+add_gen_header2(
   sys_stat
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_stat.yaml
   DEF_FILE sys/stat.h.def
   GEN_HDR sys/stat.h
   DEPENDS
@@ -474,8 +510,9 @@ add_gen_header(
     .llvm-libc-types.struct_stat
 )
 
-add_gen_header(
+add_gen_header2(
   sys_select
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_select.yaml
   DEF_FILE sys/select.h.def
   GEN_HDR sys/select.h
   DEPENDS
@@ -489,8 +526,9 @@ add_gen_header(
     .llvm-libc-types.struct_timeval
 )
 
-add_gen_header(
+add_gen_header2(
   sys_sendfile
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_sendfile.yaml
   DEF_FILE sys/sendfile.h.def
   GEN_HDR sys/sendfile.h
   DEPENDS
@@ -500,8 +538,9 @@ add_gen_header(
     .llvm-libc-types.ssize_t
 )
 
-add_gen_header(
+add_gen_header2(
   sys_socket
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_socket.yaml
   DEF_FILE sys/socket.h.def
   GEN_HDR sys/socket.h
   DEPENDS
@@ -513,8 +552,9 @@ add_gen_header(
     .llvm-libc-types.struct_sockaddr_un
 )
 
-add_gen_header(
+add_gen_header2(
   sys_statvfs
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_statvfs.yaml
   DEF_FILE sys/statvfs.h.def
   GEN_HDR sys/statvfs.h
   DEPENDS
@@ -522,14 +562,16 @@ add_gen_header(
     .llvm-libc-types.struct_statvfs
 )
 
-add_gen_header(
+add_gen_header2(
   sys_syscall
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_syscall.yaml
   DEF_FILE sys/syscall.h.def
   GEN_HDR sys/syscall.h
 )
 
-add_gen_header(
+add_gen_header2(
   sys_time
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_time.yaml
   DEF_FILE sys/time.h.def
   GEN_HDR sys/time.h
   DEPENDS
@@ -538,8 +580,9 @@ add_gen_header(
     .llvm-libc-macros.sys_time_macros
 )
 
-add_gen_header(
+add_gen_header2(
   sys_types
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_types.yaml
   DEF_FILE sys/types.h.def
   GEN_HDR sys/types.h
   DEPENDS
@@ -567,8 +610,9 @@ add_gen_header(
     .llvm-libc-types.uid_t
 )
 
-add_gen_header(
+add_gen_header2(
   sys_utsname
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_utsname.yaml
   DEF_FILE sys/utsname.h.def
   GEN_HDR sys/utsname.h
   DEPENDS
@@ -576,8 +620,9 @@ add_gen_header(
     .llvm-libc-types.struct_utsname
 )
 
-add_gen_header(
+add_gen_header2(
   sys_wait
+  YAML_FILE ../libc/newhdrgen/yaml/sys/sys_wait.yaml
   DEF_FILE sys/wait.h.def
   GEN_HDR sys/wait.h
   DEPENDS
@@ -588,8 +633,9 @@ add_gen_header(
     .llvm-libc-types.siginfo_t
 )
 
-add_gen_header(
+add_gen_header2(
   termios
+  YAML_FILE ../libc/newhdrgen/yaml/termios.yaml
   DEF_FILE termios.h.def
   GEN_HDR termios.h
   DEPENDS
@@ -602,8 +648,9 @@ add_gen_header(
     .llvm-libc-types.tcflag_t
 )
 
-add_gen_header(
+add_gen_header2(
   uchar
+  YAML_FILE ../libc/newhdrgen/yaml/uchar.yaml
   DEF_FILE uchar.h.def
   GEN_HDR uchar.h
   DEPENDS
@@ -614,8 +661,9 @@ add_gen_header(
     .llvm-libc-types.char32_t
 )
 
-add_gen_header(
+add_gen_header2(
   wchar
+  YAML_FILE ../libc/newhdrgen/yaml/wchar.yaml
   DEF_FILE wchar.h.def
   GEN_HDR wchar.h
   DEPENDS
@@ -630,8 +678,9 @@ add_gen_header(
 if(LIBC_TARGET_OS_IS_GPU)
   file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/gpu)
 
-  add_gen_header(
+  add_gen_header2(
     gpu_rpc
+    YAML_FILE ../libc/newhdrgen/yaml/rpc.yaml
     DEF_FILE gpu/rpc.h.def
     GEN_HDR gpu/rpc.h
     DEPENDS
@@ -703,4 +752,4 @@ if(LLVM_LIBC_FULL_BUILD)
                             -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
   # Stripping is a no-op for headers
   add_custom_target(install-libc-headers-stripped DEPENDS install-libc-headers)
-endif()
+endif()
\ No newline at end of file

@RoseZhang03
Copy link
Contributor

LGTM!

Copy link
Contributor

@michaelrj-google michaelrj-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for adding the macro it makes it much easier to read.

Copy link
Contributor Author

@aaryanshukla aaryanshukla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if my previous comment went through, but revert back the change for function.py and header.py. Since Gpu and Libc headers are dependent on function.py, and gpu headers do not have NO EXCEPT at the end, we can add NO EXCEPT to header.py instead.

@aaryanshukla aaryanshukla merged commit 83fbd79 into llvm:main Jul 17, 2024
4 of 5 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jul 17, 2024

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building libc at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/1890

Here is the relevant piece of the build log for the reference:

Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
      |  ^
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:59:2: warning: exception_ptr not yet implemented [-W#warnings]
   59 | #warning exception_ptr not yet implemented
      |  ^
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:65:2: warning: exception_ptr not yet implemented [-W#warnings]
   65 | #warning exception_ptr not yet implemented
      |  ^
8 warnings generated.
[1639/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ryu/d2s.cpp.obj
[1640/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/clang++ --target=armv7m-unknown-eabi -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/armv7m-unknown-unknown-eabi/c++/v1 -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1 --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=c++23 -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj -MF libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj.d -o libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/valarray.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/valarray.cpp:9:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/valarray:363:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/cmath:318:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/math.h:301:
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/../include/armv7m-unknown-unknown-eabi/math.h:398:10: fatal error: 'llvm-libc-macros/math-function-macros.h' file not found
  398 | #include "llvm-libc-macros/math-function-macros.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1641/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ryu/f2s.cpp.obj
[1642/1664] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.log.dir/log.cpp.obj
[1643/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/clang++ --target=armv7m-unknown-eabi -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/armv7m-unknown-unknown-eabi/c++/v1 -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1 --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=c++23 -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj -MF libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj.d -o libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/hash.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/hash.cpp:9:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/__hash_table:43:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/cmath:318:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/math.h:301:
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/../include/armv7m-unknown-unknown-eabi/math.h:398:10: fatal error: 'llvm-libc-macros/math-function-macros.h' file not found
  398 | #include "llvm-libc-macros/math-function-macros.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1644/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/legacy_pointer_safety.cpp.obj
[1645/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/error_category.cpp.obj
[1646/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ryu/d2fixed.cpp.obj
[1647/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.obj
[1648/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/stdexcept.cpp.obj
[1649/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/clang++ --target=armv7m-unknown-eabi -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/armv7m-unknown-unknown-eabi/c++/v1 -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1 --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=c++23 -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj -MF libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj.d -o libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/bind.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/bind.cpp:9:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/functional:540:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/__functional/boyer_moore_searcher.h:26:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/unordered_map:591:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/__hash_table:43:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/cmath:318:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/math.h:301:
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/../include/armv7m-unknown-unknown-eabi/math.h:398:10: fatal error: 'llvm-libc-macros/math-function-macros.h' file not found
Step 6 (build) failure: build (failure)
...
      |  ^
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:59:2: warning: exception_ptr not yet implemented [-W#warnings]
   59 | #warning exception_ptr not yet implemented
      |  ^
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:65:2: warning: exception_ptr not yet implemented [-W#warnings]
   65 | #warning exception_ptr not yet implemented
      |  ^
8 warnings generated.
[1639/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ryu/d2s.cpp.obj
[1640/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/clang++ --target=armv7m-unknown-eabi -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/armv7m-unknown-unknown-eabi/c++/v1 -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1 --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=c++23 -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj -MF libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj.d -o libcxx/src/CMakeFiles/cxx_static.dir/valarray.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/valarray.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/valarray.cpp:9:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/valarray:363:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/cmath:318:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/math.h:301:
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/../include/armv7m-unknown-unknown-eabi/math.h:398:10: fatal error: 'llvm-libc-macros/math-function-macros.h' file not found
  398 | #include "llvm-libc-macros/math-function-macros.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1641/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ryu/f2s.cpp.obj
[1642/1664] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.log.dir/log.cpp.obj
[1643/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/clang++ --target=armv7m-unknown-eabi -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/armv7m-unknown-unknown-eabi/c++/v1 -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1 --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=c++23 -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj -MF libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj.d -o libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/hash.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/hash.cpp:9:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/__hash_table:43:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/cmath:318:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/math.h:301:
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/../include/armv7m-unknown-unknown-eabi/math.h:398:10: fatal error: 'llvm-libc-macros/math-function-macros.h' file not found
  398 | #include "llvm-libc-macros/math-function-macros.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1644/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/legacy_pointer_safety.cpp.obj
[1645/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/error_category.cpp.obj
[1646/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ryu/d2fixed.cpp.obj
[1647/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.obj
[1648/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/stdexcept.cpp.obj
[1649/1664] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/clang++ --target=armv7m-unknown-eabi -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/armv7m-unknown-unknown-eabi/c++/v1 -I/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1 --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=c++23 -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj -MF libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj.d -o libcxx/src/CMakeFiles/cxx_static.dir/bind.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/bind.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libcxx/src/bind.cpp:9:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/functional:540:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/__functional/boyer_moore_searcher.h:26:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/unordered_map:591:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/__hash_table:43:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/cmath:318:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/include/c++/v1/math.h:301:
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6zedez1j/bin/../include/armv7m-unknown-unknown-eabi/math.h:398:10: fatal error: 'llvm-libc-macros/math-function-macros.h' file not found

@ilovepi
Copy link
Contributor

ilovepi commented Jul 18, 2024

Hi, we're seeing this break builds in our CI,, as well as in buildbot, can you revert your patch until you can fix the issue?
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8742122933932616721/overview

@ilovepi
Copy link
Contributor

ilovepi commented Jul 18, 2024

Thank you! If you want to test your PR in our build we can probably help you vet it on our bots tomorrow.

aaryanshukla added a commit to aaryanshukla/llvm-project that referenced this pull request Jul 18, 2024
aaryanshukla added a commit that referenced this pull request Jul 18, 2024
- revert to revert for patch
#98828
- revert to revert #99410
- revert to revert #99413
yuxuanchen1997 pushed a commit that referenced this pull request Jul 25, 2024
Summary:
- all headers in the build system are generated by newheadergen
- tested on gpu-build

---------

Co-authored-by: Rose Zhang <[email protected]>

Test Plan: 

Reviewers: 

Subscribers: 

Tasks: 

Tags: 


Differential Revision: https://phabricator.intern.facebook.com/D60251002
yuxuanchen1997 pushed a commit that referenced this pull request Jul 25, 2024
Summary: Reverts #98828

Test Plan: 

Reviewers: 

Subscribers: 

Tasks: 

Tags: 


Differential Revision: https://phabricator.intern.facebook.com/D60251771
yuxuanchen1997 pushed a commit that referenced this pull request Jul 25, 2024
Summary:
- revert to revert for patch
#98828
- revert to revert #99410
- revert to revert #99413

Test Plan: 

Reviewers: 

Subscribers: 

Tasks: 

Tags: 


Differential Revision: https://phabricator.intern.facebook.com/D60251427
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants