File: annotate.c

package info (click to toggle)
llvm-toolchain-13 1%3A13.0.1-11
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,418,840 kB
  • sloc: cpp: 5,290,826; ansic: 996,570; asm: 544,593; python: 188,212; objc: 72,027; lisp: 30,291; f90: 25,395; sh: 24,898; javascript: 9,780; pascal: 9,398; perl: 7,484; ml: 5,432; awk: 3,523; makefile: 2,913; xml: 953; cs: 573; fortran: 539
file content (15 lines) | stat: -rw-r--r-- 952 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// RUN: %clang_cc1 %s -fsyntax-only -fdouble-square-bracket-attributes -verify

void __attribute__((annotate("foo"))) foo(float *a) {
  __attribute__((annotate("bar"))) int x;
  [[clang::annotate("bar")]] int x2;
  __attribute__((annotate(1))) int y; // expected-error {{'annotate' attribute requires a string}}
  [[clang::annotate(1)]] int y2; // expected-error {{'annotate' attribute requires a string}}
  __attribute__((annotate("bar", 1))) int z;
  [[clang::annotate("bar", 1)]] int z2;

  int u = __builtin_annotation(z, (char*) 0); // expected-error {{second argument to __builtin_annotation must be a non-wide string constant}}
  int v = __builtin_annotation(z, (char*) L"bar"); // expected-error {{second argument to __builtin_annotation must be a non-wide string constant}}
  int w = __builtin_annotation(z, "foo");
  float b = __builtin_annotation(*a, "foo"); // expected-error {{first argument to __builtin_annotation must be an integer}}
}