File: preprocessor.function_macro.vert

package info (click to toggle)
glslang 15.1.0%2B1.4.309.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 46,976 kB
  • sloc: cpp: 92,728; yacc: 4,145; sh: 609; python: 305; ansic: 94; javascript: 74; makefile: 17
file content (23 lines) | stat: -rw-r--r-- 511 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#version 310 es


#define X(n) n + 1
#define Y(n, z) n + z
#define Z(f) X(f)

#define REALLY_LONG_MACRO_NAME_WITH_MANY_PARAMETERS(X1, X2, X3, X4, X5, X6, X7,\
    X8, X9, X10, X11, X12) X1+X2+X3+X4+X5+X6+X7+X8+X9+X10+X11+X12

#define A(\
  Y\
  )\
4 + 3 + Y

#define F F.a

int main() {
  gl_Position = vec4(X(3), Y(3, 4), Z(3));
  gl_Position = vec4(REALLY_LONG_MACRO_NAME_WITH_MANY_PARAMETERS(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12));
  gl_Position = vec4(A(3));
  gl_Position = A(F);
}