about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-24 15:54:10 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-04-17 16:12:40 -0300
commitb9801c945a677496d583bb76efa896bb954ca410 (patch)
tree1574eea9b49a93f6132b36a0332c0a550a01fa20
parentf86656747932c7e67b5aef0ee36aa05a08c66074 (diff)
downloadglibc-b9801c945a677496d583bb76efa896bb954ca410.tar.gz
glibc-b9801c945a677496d583bb76efa896bb954ca410.tar.xz
glibc-b9801c945a677496d583bb76efa896bb954ca410.zip
stdio: Disable attribute (optimize) if compiler does not support it
-rw-r--r--stdio-common/tst-printf-bz18872.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/stdio-common/tst-printf-bz18872.sh b/stdio-common/tst-printf-bz18872.sh
index 3b283f49a6..1ac3c2e751 100644
--- a/stdio-common/tst-printf-bz18872.sh
+++ b/stdio-common/tst-printf-bz18872.sh
@@ -31,7 +31,13 @@ cat <<'EOF'
   Compile do_test without optimization: GCC 4.9/5.0/6.0 takes a long time
   to build this source. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396  */
 
-__attribute__ ((optimize ("-O0")))
+#if __GNUC_PREREQ (4, 4) || __glibc_has_attribute (__optimize__)
+# define attribute_optimize(level) __attribute__ ((optimize (level)))
+#else
+# define attribute_optimize(level)
+#endif
+
+attribute_optimize ("-O0")
 int do_test (void)
 {
     mtrace ();