[llvm-branch-commits] [compiler-rt] 56a7fe3 - [GCDAProfiling] Suppress -Wprio-ctor-dtor for GCC>=9 and remove unused write_string/length_of_string
Hans Wennborg via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Sep 7 10:33:25 PDT 2020
Author: Fangrui Song
Date: 2020-09-07T19:32:24+02:00
New Revision: 56a7fe31adbb352804e4d568ec8b65cdc749a83f
URL: https://github.com/llvm/llvm-project/commit/56a7fe31adbb352804e4d568ec8b65cdc749a83f
DIFF: https://github.com/llvm/llvm-project/commit/56a7fe31adbb352804e4d568ec8b65cdc749a83f.diff
LOG: [GCDAProfiling] Suppress -Wprio-ctor-dtor for GCC>=9 and remove unused write_string/length_of_string
The `__attribute__((destructor(100)))` diagnostic does not have a
warning option in GCC 8 (before r264853) and thus cannot be suppressed.
(cherry picked from commit 1cfde143e82aeb47cffba436ba7b5302d8e14193)
Added:
Modified:
compiler-rt/lib/profile/GCDAProfiling.c
Removed:
################################################################################
diff --git a/compiler-rt/lib/profile/GCDAProfiling.c b/compiler-rt/lib/profile/GCDAProfiling.c
index 57d8dec423cc..82369357e986 100644
--- a/compiler-rt/lib/profile/GCDAProfiling.c
+++ b/compiler-rt/lib/profile/GCDAProfiling.c
@@ -210,22 +210,6 @@ static void write_64bit_value(uint64_t i) {
write_32bit_value(hi);
}
-static uint32_t length_of_string(const char *s) {
- return (strlen(s) / 4) + 1;
-}
-
-// Remove when we support libgcov 9 current_working_directory.
-#if !defined(_MSC_VER) && defined(__clang__)
-__attribute__((unused))
-#endif
-static void
-write_string(const char *s) {
- uint32_t len = length_of_string(s);
- write_32bit_value(len);
- write_bytes(s, strlen(s));
- write_bytes("\0\0\0\0", 4 - (strlen(s) % 4));
-}
-
static uint32_t read_32bit_value() {
uint32_t val;
@@ -632,6 +616,9 @@ void llvm_writeout_files(void) {
// __attribute__((destructor)) and destructors whose priorities are greater than
// 100 run before this function and can thus be tracked. The priority is
// compatible with GCC 7 onwards.
+#if __GNUC__ >= 9
+#pragma GCC diagnostic ignored "-Wprio-ctor-dtor"
+#endif
__attribute__((destructor(100)))
#endif
static void llvm_writeout_and_clear(void) {
More information about the llvm-branch-commits
mailing list