summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/test')
-rw-r--r--compiler-rt/test/profile/Inputs/instrprof-merge-match.c3
-rw-r--r--compiler-rt/test/profile/instrprof-merge.c3
-rw-r--r--compiler-rt/test/profile/profile_test.h20
3 files changed, 24 insertions, 2 deletions
diff --git a/compiler-rt/test/profile/Inputs/instrprof-merge-match.c b/compiler-rt/test/profile/Inputs/instrprof-merge-match.c
index 6e29e4a4e51..bc3ab283c9b 100644
--- a/compiler-rt/test/profile/Inputs/instrprof-merge-match.c
+++ b/compiler-rt/test/profile/Inputs/instrprof-merge-match.c
@@ -1,6 +1,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include "../profile_test.h"
int __llvm_profile_runtime = 0;
uint64_t __llvm_profile_get_size_for_buffer(void);
@@ -20,7 +21,7 @@ extern uint64_t libEntry(char *Buffer, uint64_t MaxSize);
int main(int argc, const char *argv[]) {
const uint64_t MaxSize = 10000;
- static char Buffer[MaxSize];
+ static char ALIGNED(sizeof(uint64_t)) Buffer[MaxSize];
uint64_t Size = __llvm_profile_get_size_for_buffer();
if (Size > MaxSize)
diff --git a/compiler-rt/test/profile/instrprof-merge.c b/compiler-rt/test/profile/instrprof-merge.c
index 8f8d7f458c9..c7d9f0206de 100644
--- a/compiler-rt/test/profile/instrprof-merge.c
+++ b/compiler-rt/test/profile/instrprof-merge.c
@@ -8,6 +8,7 @@
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
+#include "profile_test.h"
int __llvm_profile_runtime = 0;
uint64_t __llvm_profile_get_size_for_buffer(void);
@@ -41,7 +42,7 @@ int main(int argc, const char *argv[]) {
return 1;
const uint64_t MaxSize = 10000;
- static char Buffer[MaxSize];
+ static ALIGNED(sizeof(uint64_t)) char Buffer[MaxSize];
uint64_t Size = __llvm_profile_get_size_for_buffer();
if (Size > MaxSize)
diff --git a/compiler-rt/test/profile/profile_test.h b/compiler-rt/test/profile/profile_test.h
new file mode 100644
index 00000000000..c8fc9f2032f
--- /dev/null
+++ b/compiler-rt/test/profile/profile_test.h
@@ -0,0 +1,20 @@
+//===-- profile_test.h.h ----------------------------------------*- 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
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains definitions for the profile tests.
+//===----------------------------------------------------------------------===//
+#ifndef PROFILE_TEST_H
+#define PROFILE_TEST_H
+
+#if defined(_MSC_VER)
+# define ALIGNED(x) __declspec(align(x))
+#else // _MSC_VER
+# define ALIGNED(x) __attribute__((aligned(x)))
+#endif
+
+#endif // PROFILE_TEST_H
OpenPOWER on IntegriCloud