================
@@ -3914,44 +3914,39 @@ def VFork : LibBuiltin<"unistd.h"> {
 
 def Umask : LibBuiltin<"sys/stat.h"> {
   let Spellings = ["umask"];
-  let Attributes = [IgnoreSignature, NoThrow];
-  let Prototype = ""; // mode_t(mode_t); mode_t is target-specific
+  let Attributes = [NoThrow];
+  let Prototype = "mode_t(mode_t)";
 }
 
 // POSIX sys/socket.h
 
 def Recv : LibBuiltin<"sys/socket.h"> {
   let Spellings = ["recv"];
-  let Attributes = [IgnoreSignature];
-  // ssize_t(int, void*, size_t, int); ssize_t is target-specific
-  let Prototype = "";
+  let Prototype = "ssize_t(int, void*, size_t, int)";
+  let WindowsPrototype = "int(size_t, char*, int, int)";
 }
 
 def RecvFrom : LibBuiltin<"sys/socket.h"> {
   let Spellings = ["recvfrom"];
-  let Attributes = [IgnoreSignature];
-  // ssize_t(int, void*, size_t, int, struct sockaddr*, socklen_t*);
-  // types are target-specific
-  let Prototype = "";
+  let Prototype = "ssize_t(int, void*, size_t, int, struct sockaddr*, 
socklen_t*)";
+  let WindowsPrototype = "int(size_t, char*, int, int, struct sockaddr*, 
int*)";
 }
 
 // POSIX poll.h
 
 def Poll : LibBuiltin<"poll.h"> {
   let Spellings = ["poll"];
-  let Attributes = [IgnoreSignature];
-  // int(struct pollfd*, nfds_t, int); struct pollfd and nfds_t are
-  // target-specific
-  let Prototype = "";
+  let Prototype = "int(struct pollfd*, nfds_t, int)";
----------------
efriedma-quic wrote:

Maybe we want to require writing something like `int(struct pollfd*, typedef 
nfds_t, int)`, so it's clear nfds_t isn't a known type?


https://github.com/llvm/llvm-project/pull/231696
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to