aboutsummaryrefslogtreecommitdiff
path: root/compiler-rt
diff options
context:
space:
mode:
authorJie Fu <jiefu@tencent.com>2023-07-19 17:50:11 +0800
committerJie Fu <jiefu@tencent.com>2023-07-19 18:00:05 +0800
commit51c8cacafd47b59e66816b10be357a9877187bc3 (patch)
treea0f05e0b1a562a8a12425251e5e186049cc945fe /compiler-rt
parent2167ae93c97b6d978ccdd8bc509d8f43aea62cca (diff)
downloadllvm-51c8cacafd47b59e66816b10be357a9877187bc3.zip
llvm-51c8cacafd47b59e66816b10be357a9877187bc3.tar.gz
llvm-51c8cacafd47b59e66816b10be357a9877187bc3.tar.bz2
[InstrProf] Ignore -Wcast-qual after D153911 to fix build failure (NFC)
/data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:46:60: error: cast from 'const char *' to 'struct __llvm_profile_header *' drops const qualifier [-Werror,-Wcast-qual] __llvm_profile_header *Header = (__llvm_profile_header *)ProfileData; ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:49:30: error: cast from 'const char *' to 'struct __llvm_profile_data *' drops const qualifier [-Werror,-Wcast-qual] (__llvm_profile_data *)(ProfileData + sizeof(__llvm_profile_header) + ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:77:41: error: cast from 'const struct __llvm_profile_data *' to 'struct __llvm_profile_data *' drops const qualifier [-Werror,-Wcast-qual] DstData = (__llvm_profile_data *)__llvm_profile_begin_data(); ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:109:60: error: cast from 'const char *' to 'struct __llvm_profile_header *' drops const qualifier [-Werror,-Wcast-qual] __llvm_profile_header *Header = (__llvm_profile_header *)ProfileData; ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:116:30: error: cast from 'const char *' to 'struct __llvm_profile_data *' drops const qualifier [-Werror,-Wcast-qual] (__llvm_profile_data *)(ProfileData + sizeof(__llvm_profile_header) + ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:129:40: error: cast from 'const struct __llvm_profile_data *' to 'struct __llvm_profile_data *' drops const qualifier [-Werror,-Wcast-qual] DstData = (__llvm_profile_data *)__llvm_profile_begin_data(), ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:179:34: error: cast from 'const char *' to 'struct ValueProfData *' drops const qualifier [-Werror,-Wcast-qual] VPMergeHook((ValueProfData *)SrcValueProfData, DstData); ^ /data/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c:181:46: error: cast from 'const char *' to 'struct ValueProfData *' drops const qualifier [-Werror,-Wcast-qual] SrcValueProfData + ((ValueProfData *)SrcValueProfData)->TotalSize; ^ ...
Diffstat (limited to 'compiler-rt')
-rw-r--r--compiler-rt/lib/profile/InstrProfilingFile.c14
-rw-r--r--compiler-rt/lib/profile/InstrProfilingMerge.c9
-rw-r--r--compiler-rt/lib/profile/InstrProfilingValue.c7
3 files changed, 30 insertions, 0 deletions
diff --git a/compiler-rt/lib/profile/InstrProfilingFile.c b/compiler-rt/lib/profile/InstrProfilingFile.c
index 5666607..54e3030 100644
--- a/compiler-rt/lib/profile/InstrProfilingFile.c
+++ b/compiler-rt/lib/profile/InstrProfilingFile.c
@@ -649,7 +649,14 @@ static void initializeProfileForContinuousMode(void) {
static const char *DefaultProfileName = "default.profraw";
static void resetFilenameToDefault(void) {
if (lprofCurFilename.FilenamePat && lprofCurFilename.OwnsFilenamePat) {
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
free((void *)lprofCurFilename.FilenamePat);
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
}
memset(&lprofCurFilename, 0, sizeof(lprofCurFilename));
lprofCurFilename.FilenamePat = DefaultProfileName;
@@ -691,6 +698,10 @@ static int parseFilenamePattern(const char *FilenamePat,
int MergingEnabled = 0;
int FilenamePatLen = strlen(FilenamePat);
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
/* Clean up cached prefix and filename. */
if (lprofCurFilename.ProfilePathPrefix)
free((void *)lprofCurFilename.ProfilePathPrefix);
@@ -698,6 +709,9 @@ static int parseFilenamePattern(const char *FilenamePat,
if (lprofCurFilename.FilenamePat && lprofCurFilename.OwnsFilenamePat) {
free((void *)lprofCurFilename.FilenamePat);
}
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
memset(&lprofCurFilename, 0, sizeof(lprofCurFilename));
diff --git a/compiler-rt/lib/profile/InstrProfilingMerge.c b/compiler-rt/lib/profile/InstrProfilingMerge.c
index 4da88b7..432e824 100644
--- a/compiler-rt/lib/profile/InstrProfilingMerge.c
+++ b/compiler-rt/lib/profile/InstrProfilingMerge.c
@@ -38,6 +38,11 @@ uint64_t lprofGetLoadModuleSignature(void) {
__llvm_profile_get_magic();
}
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
+
/* Returns 1 if profile is not structurally compatible. */
COMPILER_RT_VISIBILITY
int __llvm_profile_check_compatibility(const char *ProfileData,
@@ -183,3 +188,7 @@ int __llvm_profile_merge_from_buffer(const char *ProfileData,
return 0;
}
+
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
diff --git a/compiler-rt/lib/profile/InstrProfilingValue.c b/compiler-rt/lib/profile/InstrProfilingValue.c
index c819a38..3d7c245 100644
--- a/compiler-rt/lib/profile/InstrProfilingValue.c
+++ b/compiler-rt/lib/profile/InstrProfilingValue.c
@@ -59,7 +59,14 @@ COMPILER_RT_VISIBILITY void lprofSetMaxValsPerSite(uint32_t MaxVals) {
COMPILER_RT_VISIBILITY void
__llvm_profile_set_num_value_sites(__llvm_profile_data *Data,
uint32_t ValueKind, uint16_t NumValueSites) {
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
*((uint16_t *)&Data->NumValueSites[ValueKind]) = NumValueSites;
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
}
/* This method is only used in value profiler mock testing. */