Clean-up: fix '-Wundef' warnings on various platforms
[lttng-tools.git] / tests / utils / testapp / gen-syscall-events-callstack / gen-syscall-events-callstack.c
index 48210fab07008553775f08522d0d4b9d7f996162..9d3e030b7f2c0079169a51c34983e14e612e1e84 100644 (file)
@@ -1,18 +1,8 @@
 /*
- * Copyright (C) 2017 Francis Deslauriers <francis.deslauriers@efficios.com>
+ * Copyright (C) 2017 Francis Deslauriers <francis.deslauriers@efficios.com>
  *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by the
- * Free Software Foundation; version 2.1 of the License.
+ * SPDX-License-Identifier: LGPL-2.1-only
  *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
 #include <fcntl.h>
  * events generated by our test process only.
  */
 
+#if defined(__clang__)
+#define nooptimization __attribute__((noinline)) __attribute__((optnone))
+#else
+#define nooptimization __attribute__((noinline)) __attribute__((optimize(0)))
+#endif
+
 volatile int val = 0;
 
-long __attribute__ ((noinline))
+long nooptimization my_gettid(void);
+long nooptimization
 my_gettid(void)
 {
     long ret;
@@ -48,7 +45,7 @@ my_gettid(void)
         : "0"(__NR_gettid)
         : "cc", "rcx", "r11", "memory"
     );
-#elif __i386
+#elif defined(__i386)
     asm volatile
     (
         "int $0x80"
@@ -62,20 +59,23 @@ my_gettid(void)
     return ret;
 }
 
-int __attribute__ ((noinline))
+int nooptimization fct_c(void);
+int nooptimization
 fct_c(void)
 {
        return my_gettid();
 }
 
-int __attribute__ ((noinline))
+int nooptimization fct_b(void);
+int nooptimization
 fct_b(void)
 {
        val += fct_c();
        return val;
 }
 
-int __attribute__ ((noinline))
+int nooptimization fct_a(void);
+int nooptimization
 fct_a(void)
 {
        val += fct_b();
This page took 0.024953 seconds and 4 git commands to generate.