[libc] Correctly add new files
authorAlex Brachet <abrachet@google.com>
Tue, 11 Apr 2023 04:41:14 +0000 (04:41 +0000)
committerAlex Brachet <abrachet@google.com>
Tue, 11 Apr 2023 04:41:14 +0000 (04:41 +0000)
libc/src/string/index.cpp [new file with mode: 0644]
libc/src/string/index.h [new file with mode: 0644]
libc/src/string/rindex.cpp [new file with mode: 0644]
libc/src/string/rindex.h [new file with mode: 0644]
libc/test/src/string/index_test.cpp [new file with mode: 0644]
libc/test/src/string/rindex_test.cpp [new file with mode: 0644]

diff --git a/libc/src/string/index.cpp b/libc/src/string/index.cpp
new file mode 100644 (file)
index 0000000..0ea2f75
--- /dev/null
@@ -0,0 +1,20 @@
+//===-- Implementation of index -------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/string/index.h"
+
+#include "src/__support/common.h"
+#include "src/string/string_utils.h"
+
+namespace __llvm_libc {
+
+LLVM_LIBC_FUNCTION(char *, index, (const char *src, int c)) {
+  return internal::strchr_implementation(src, c);
+}
+
+} // namespace __llvm_libc
diff --git a/libc/src/string/index.h b/libc/src/string/index.h
new file mode 100644 (file)
index 0000000..7b24610
--- /dev/null
@@ -0,0 +1,18 @@
+//===-- Implementation header for index -------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_STRING_INDEX_H
+#define LLVM_LIBC_SRC_STRING_INDEX_H
+
+namespace __llvm_libc {
+
+char *index(const char *src, int c);
+
+} // namespace __llvm_libc
+
+#endif // LLVM_LIBC_SRC_STRING_INDEX_H
diff --git a/libc/src/string/rindex.cpp b/libc/src/string/rindex.cpp
new file mode 100644 (file)
index 0000000..520a4db
--- /dev/null
@@ -0,0 +1,20 @@
+//===-- Implementation of rindex ------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/string/rindex.h"
+
+#include "src/__support/common.h"
+#include "src/string/string_utils.h"
+
+namespace __llvm_libc {
+
+LLVM_LIBC_FUNCTION(char *, rindex, (const char *src, int c)) {
+  return internal::strrchr_implementation(src, c);
+}
+
+} // namespace __llvm_libc
diff --git a/libc/src/string/rindex.h b/libc/src/string/rindex.h
new file mode 100644 (file)
index 0000000..976d6ba
--- /dev/null
@@ -0,0 +1,18 @@
+//===-- Implementation header for rindex ------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_STRING_RINDEX_H
+#define LLVM_LIBC_SRC_STRING_RINDEX_H
+
+namespace __llvm_libc {
+
+char *rindex(const char *src, int c);
+
+} // namespace __llvm_libc
+
+#endif // LLVM_LIBC_SRC_STRING_RINDEX_H
diff --git a/libc/test/src/string/index_test.cpp b/libc/test/src/string/index_test.cpp
new file mode 100644 (file)
index 0000000..22202f0
--- /dev/null
@@ -0,0 +1,14 @@
+//===-- Unittests for index -----------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "StrchrTest.h"
+
+#include "src/string/index.h"
+#include "test/UnitTest/Test.h"
+
+STRCHR_TEST(Index, __llvm_libc::index)
diff --git a/libc/test/src/string/rindex_test.cpp b/libc/test/src/string/rindex_test.cpp
new file mode 100644 (file)
index 0000000..1e59696
--- /dev/null
@@ -0,0 +1,14 @@
+//===-- Unittests for rindex ----------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "StrchrTest.h"
+
+#include "src/string/rindex.h"
+#include "test/UnitTest/Test.h"
+
+STRRCHR_TEST(Rindex, __llvm_libc::rindex)