File: compiler_builtins.c

package info (click to toggle)
frama-c 20220511-manganese-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 66,472 kB
  • sloc: ml: 278,832; ansic: 47,093; sh: 4,823; makefile: 3,618; javascript: 2,436; python: 1,919; perl: 897; lisp: 293; xml: 62
file content (28 lines) | stat: -rw-r--r-- 520 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* run.config
   STDOPT:
   STDOPT: +"-machdep gcc_x86_32"
   STDOPT: +"-machdep msvc_x86_64"
 */

#include <stdarg.h>

struct st {
  char a;
  int b;
};

void fva(int a, ...) {
  va_list ap;
  __builtin_va_start(ap, a); // Non-MSVC-specific
  __builtin_va_end(ap); // Non-MSVC-specific
}

int main() {
  int x = 0;
  if (__builtin_expect(x++, x)) { // GCC-specific
    int y = x;
  }
  __builtin__annotation("a", 1); // MSVC-specific
  fva(1);
  __builtin_offsetof(struct st,b); // Generic builtin (always available)
}