Mock Version: 3.5
Mock Version: 3.5
Mock Version: 3.5
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target riscv64 --nodeps /builddir/build/SPECS/vkBasalt.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-878725-28479/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0xffffff9c44e7d0>timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False)
Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target riscv64 --nodeps /builddir/build/SPECS/vkBasalt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False
Building target platforms: riscv64
Building for target riscv64
setting SOURCE_DATE_EPOCH=1688428800
Wrote: /builddir/build/SRPMS/vkBasalt-0.3.2.9-1.fc38.src.rpm
Child return code was: 0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target riscv64 --nodeps /builddir/build/SPECS/vkBasalt.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-878725-28479/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0xffffff9c44e7d0>timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False)
Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target riscv64 --nodeps /builddir/build/SPECS/vkBasalt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False
Building target platforms: riscv64
Building for target riscv64
setting SOURCE_DATE_EPOCH=1688428800
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.790OGx
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf vkBasalt-0.3.2.9
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/vkBasalt-0.3.2.9.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd vkBasalt-0.3.2.9
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.hH8Bv3
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd vkBasalt-0.3.2.9
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . redhat-linux-build -Dappend_libdir_vkbasalt=true
The Meson build system
Version: 1.0.1
Source dir: /builddir/build/BUILD/vkBasalt-0.3.2.9
Build dir: /builddir/build/BUILD/vkBasalt-0.3.2.9/redhat-linux-build
Build type: native build
Project name: vkBasalt
Project version: undefined
C compiler for the host machine: gcc (gcc 13.1.1 "gcc (GCC) 13.1.1 20230614 (Red Hat 13.1.1-4)")
C linker for the host machine: gcc ld.bfd 2.39-12
C++ compiler for the host machine: g++ (gcc 13.1.1 "g++ (GCC) 13.1.1 20230614 (Red Hat 13.1.1-4)")
C++ linker for the host machine: g++ ld.bfd 2.39-12
Host machine cpu family: riscv64
Host machine cpu: riscv64
Program glslangValidator found: YES (/usr/bin/glslangValidator)
Compiler for C++ supports arguments -Wno-unknown-pragmas: YES 
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Run-time dependency x11 found: YES 1.8.4
Configuring config_paths.hpp using configuration
Configuring vkBasalt.json using configuration
Build targets in project: 3
vkBasalt undefined
  User defined options
    auto_features         : enabled
    bindir                : /usr/bin
    buildtype             : plain
    datadir               : /usr/share
    includedir            : /usr/include
    infodir               : /usr/share/info
    libdir                : /usr/lib64
    libexecdir            : /usr/libexec
    localedir             : /usr/share/locale
    localstatedir         : /var
    mandir                : /usr/share/man
    prefix                : /usr
    sbindir               : /usr/sbin
    sharedstatedir        : /var/lib
    sysconfdir            : /etc
    wrap_mode             : nodownload
    append_libdir_vkbasalt: true
Found ninja-1.11.1 at /usr/bin/ninja
+ /usr/bin/meson compile -C redhat-linux-build -j 8 --verbose
ninja: Entering directory `/builddir/build/BUILD/vkBasalt-0.3.2.9/redhat-linux-build'
[1/57] /usr/bin/glslangValidator -V -x ../src/shader/cas.frag.glsl -o src/libvkbasalt.so.p/cas.frag.h
../src/shader/cas.frag.glsl
[2/57] /usr/bin/glslangValidator -V -x ../src/shader/deband.frag.glsl -o src/libvkbasalt.so.p/deband.frag.h
../src/shader/deband.frag.glsl
[3/57] /usr/bin/glslangValidator -V -x ../src/shader/dls.frag.glsl -o src/libvkbasalt.so.p/dls.frag.h
../src/shader/dls.frag.glsl
[4/57] /usr/bin/glslangValidator -V -x ../src/shader/full_screen_triangle.vert.glsl -o src/libvkbasalt.so.p/full_screen_triangle.vert.h
../src/shader/full_screen_triangle.vert.glsl
[5/57] /usr/bin/glslangValidator -V -x ../src/shader/fxaa.frag.glsl -o src/libvkbasalt.so.p/fxaa.frag.h
../src/shader/fxaa.frag.glsl
[6/57] g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_lexer.cpp.o -MF src/reshade/libreshade.a.p/effect_lexer.cpp.o.d -o src/reshade/libreshade.a.p/effect_lexer.cpp.o -c ../src/reshade/effect_lexer.cpp
FAILED: src/reshade/libreshade.a.p/effect_lexer.cpp.o 
g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_lexer.cpp.o -MF src/reshade/libreshade.a.p/effect_lexer.cpp.o.d -o src/reshade/libreshade.a.p/effect_lexer.cpp.o -c ../src/reshade/effect_lexer.cpp
../src/reshade/effect_lexer.cpp: In member function ‘reshadefx::token reshadefx::lexer::lex()’:
../src/reshade/effect_lexer.cpp:410:29: error: ‘uint8_t’ was not declared in this scope
  410 |         switch (type_lookup[uint8_t(*_cur)])
      |                             ^~~~~~~
../src/reshade/effect_lexer.cpp:8:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    7 | #include <unordered_map> // Used for static lookup tables
  +++ |+#include <cstdint>
    8 | 
../src/reshade/effect_lexer.cpp: In member function ‘void reshadefx::lexer::skip_space()’:
../src/reshade/effect_lexer.cpp:669:28: error: ‘uint8_t’ was not declared in this scope
  669 |         while (type_lookup[uint8_t(*_cur)] == SPACE && _cur < _end)
      |                            ^~~~~~~
../src/reshade/effect_lexer.cpp:669:28: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_lexer.cpp: In member function ‘void reshadefx::lexer::parse_identifier(reshadefx::token&) const’:
../src/reshade/effect_lexer.cpp:684:38: error: ‘uint8_t’ was not declared in this scope
  684 |         do end++; while (type_lookup[uint8_t(*end)] == IDENT || type_lookup[uint8_t(*end)] == DIGIT);
      |                                      ^~~~~~~
../src/reshade/effect_lexer.cpp:684:38: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
[7/57] /usr/bin/glslangValidator -V -x ../src/shader/lut.frag.glsl -o src/libvkbasalt.so.p/lut.frag.h
../src/shader/lut.frag.glsl
[8/57] g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_symbol_table.cpp.o -MF src/reshade/libreshade.a.p/effect_symbol_table.cpp.o.d -o src/reshade/libreshade.a.p/effect_symbol_table.cpp.o -c ../src/reshade/effect_symbol_table.cpp
FAILED: src/reshade/libreshade.a.p/effect_symbol_table.cpp.o 
g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_symbol_table.cpp.o -MF src/reshade/libreshade.a.p/effect_symbol_table.cpp.o.d -o src/reshade/libreshade.a.p/effect_symbol_table.cpp.o -c ../src/reshade/effect_symbol_table.cpp
In file included from ../src/reshade/effect_module.hpp:8,
                 from ../src/reshade/effect_symbol_table.hpp:8,
                 from ../src/reshade/effect_symbol_table.cpp:6:
../src/reshade/effect_expression.hpp:17:22: error: use of enum ‘datatype’ without previous declaration
   17 |                 enum datatype : uint8_t
      |                      ^~~~~~~~
../src/reshade/effect_expression.hpp:17:33: error: ‘uint8_t’ was not declared in this scope
   17 |                 enum datatype : uint8_t
      |                                 ^~~~~~~
../src/reshade/effect_expression.hpp:9:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    8 | #include "effect_token.hpp"
  +++ |+#include <cstdint>
    9 | 
../src/reshade/effect_expression.hpp:18:17: error: default member initializer for unnamed bit-field
   18 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:30:22: error: use of enum ‘qualifier’ without previous declaration
   30 |                 enum qualifier : uint32_t
      |                      ^~~~~~~~~
../src/reshade/effect_expression.hpp:30:34: error: ‘uint32_t’ was not declared in this scope
   30 |                 enum qualifier : uint32_t
      |                                  ^~~~~~~~
../src/reshade/effect_expression.hpp:30:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:31:17: error: default member initializer for unnamed bit-field
   31 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:62:26: error: ‘qualifier’ has not been declared
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                          ^~~~~~~~~
../src/reshade/effect_expression.hpp:89:17: error: ‘datatype’ does not name a type
   89 |                 datatype base = t_void; // Underlying base type ('int', 'float', ...)
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: error: ‘uint32_t’ does not name a type
   94 |                 uint32_t definition = 0; // ID of the matching struct if this is a struct type
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::has(int) const’:
../src/reshade/effect_expression.hpp:62:71: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                                                      ~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_signed() const’:
../src/reshade/effect_expression.hpp:67:49: error: ‘base’ was not declared in this scope
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:67:57: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                         ^~~~~
      |                                                         u_int
../src/reshade/effect_expression.hpp:67:74: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                                          ^~~~~~~
      |                                                                          float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_void() const’:
../src/reshade/effect_expression.hpp:69:47: error: ‘base’ was not declared in this scope
   69 |                 bool is_void() const { return base == t_void; }
      |                                               ^~~~
../src/reshade/effect_expression.hpp:69:55: error: ‘t_void’ was not declared in this scope; did you mean ‘is_void’?
   69 |                 bool is_void() const { return base == t_void; }
      |                                                       ^~~~~~
      |                                                       is_void
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_boolean() const’:
../src/reshade/effect_expression.hpp:70:50: error: ‘base’ was not declared in this scope
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:70:58: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                          ^~~~~~
      |                                                          bool
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_integral() const’:
../src/reshade/effect_expression.hpp:71:51: error: ‘base’ was not declared in this scope
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:71:59: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                           ^~~~~~
      |                                                           bool
../src/reshade/effect_expression.hpp:71:77: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                             ^~~~~
      |                                                                             u_int
../src/reshade/effect_expression.hpp:71:94: error: ‘t_uint’ was not declared in this scope; did you mean ‘uint’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                                              ^~~~~~
      |                                                                                              uint
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_floating_point() const’:
../src/reshade/effect_expression.hpp:72:57: error: ‘base’ was not declared in this scope
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                         ^~~~
../src/reshade/effect_expression.hpp:72:65: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                                 ^~~~~~~
      |                                                                 float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_struct() const’:
../src/reshade/effect_expression.hpp:73:49: error: ‘base’ was not declared in this scope
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:73:57: error: ‘t_struct’ was not declared in this scope; did you mean ‘is_struct’?
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                         ^~~~~~~~
      |                                                         is_struct
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_texture() const’:
../src/reshade/effect_expression.hpp:74:50: error: ‘base’ was not declared in this scope
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:74:58: error: ‘t_texture’ was not declared in this scope; did you mean ‘is_texture’?
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                          ^~~~~~~~~
      |                                                          is_texture
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_sampler() const’:
../src/reshade/effect_expression.hpp:75:50: error: ‘base’ was not declared in this scope
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:75:58: error: ‘t_sampler’ was not declared in this scope; did you mean ‘is_sampler’?
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                          ^~~~~~~~~
      |                                                          is_sampler
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_function() const’:
../src/reshade/effect_expression.hpp:76:51: error: ‘base’ was not declared in this scope
   76 |                 bool is_function() const { return base == t_function; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:76:59: error: ‘t_function’ was not declared in this scope; did you mean ‘is_function’?
   76 |                 bool is_function() const { return base == t_function; }
      |                                                           ^~~~~~~~~~
      |                                                           is_function
../src/reshade/effect_expression.hpp: In function ‘bool reshadefx::operator==(const type&, const type&)’:
../src/reshade/effect_expression.hpp:82:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                    ^~~~
../src/reshade/effect_expression.hpp:82:48: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                ^~~~
../src/reshade/effect_expression.hpp:82:148: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                    ^~~~~~~~~~
../src/reshade/effect_expression.hpp:82:166: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                                      ^~~~~~~~~~
../src/reshade/effect_expression.hpp: At global scope:
../src/reshade/effect_expression.hpp:106:25: error: ‘uint32_t’ does not name a type
  106 |                         uint32_t as_uint[16];
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:106:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:133:25: error: ‘uint32_t’ does not name a type
  133 |                         uint32_t index = 0;
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:133:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:137:17: error: ‘uint32_t’ does not name a type
  137 |                 uint32_t base = 0;
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:137:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:151:70: error: ‘uint32_t’ has not been declared
  151 |                 void reset_to_lvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:158:70: error: ‘uint32_t’ has not been declared
  158 |                 void reset_to_rvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:168:79: error: ‘uint32_t’ has not been declared
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                                                                               ^~~~~~~~
../src/reshade/effect_expression.hpp:168:22: error: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int)’ cannot be overloaded with ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: previous declaration ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:187:47: error: ‘uint32_t’ has not been declared
  187 |                 void add_dynamic_index_access(uint32_t index_expression);
      |                                               ^~~~~~~~
../src/reshade/effect_module.hpp:62:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   62 |         enum class pass_blend_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:62:34: error: found ‘:’ in nested-name-specifier, expected ‘::’
   62 |         enum class pass_blend_op : uint8_t
      |                                  ^
      |                                  ::
../src/reshade/effect_module.hpp:62:20: error: ‘pass_blend_op’ has not been declared
   62 |         enum class pass_blend_op : uint8_t
      |                    ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:63:9: error: expected unqualified-id before ‘{’ token
   63 |         {
      |         ^
../src/reshade/effect_module.hpp:74:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   74 |         enum class pass_blend_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:74:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   74 |         enum class pass_blend_func : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:74:20: error: ‘pass_blend_func’ has not been declared
   74 |         enum class pass_blend_func : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:75:9: error: expected unqualified-id before ‘{’ token
   75 |         {
      |         ^
../src/reshade/effect_module.hpp:91:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   91 |         enum class pass_stencil_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:91:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   91 |         enum class pass_stencil_op : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:91:20: error: ‘pass_stencil_op’ has not been declared
   91 |         enum class pass_stencil_op : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:92:9: error: expected unqualified-id before ‘{’ token
   92 |         {
      |         ^
../src/reshade/effect_module.hpp:106:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  106 |         enum class pass_stencil_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:106:38: error: found ‘:’ in nested-name-specifier, expected ‘::’
  106 |         enum class pass_stencil_func : uint8_t
      |                                      ^
      |                                      ::
../src/reshade/effect_module.hpp:106:20: error: ‘pass_stencil_func’ has not been declared
  106 |         enum class pass_stencil_func : uint8_t
      |                    ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:107:9: error: expected unqualified-id before ‘{’ token
  107 |         {
      |         ^
../src/reshade/effect_module.hpp:121:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  121 |         enum class primitive_topology : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:121:39: error: found ‘:’ in nested-name-specifier, expected ‘::’
  121 |         enum class primitive_topology : uint8_t
      |                                       ^
      |                                       ::
../src/reshade/effect_module.hpp:121:20: error: ‘primitive_topology’ has not been declared
  121 |         enum class primitive_topology : uint8_t
      |                    ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:122:9: error: expected unqualified-id before ‘{’ token
  122 |         {
      |         ^
../src/reshade/effect_module.hpp:138:17: error: ‘uint32_t’ does not name a type
  138 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:9:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    8 | #include "effect_expression.hpp"
  +++ |+#include <cstdint>
    9 | 
../src/reshade/effect_module.hpp:150:17: error: ‘uint32_t’ does not name a type
  150 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:150:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:168:17: error: ‘uint32_t’ does not name a type
  168 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:168:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:169:17: error: ‘uint32_t’ does not name a type
  169 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:169:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:173:17: error: ‘uint32_t’ does not name a type
  173 |                 uint32_t width = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:173:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:174:17: error: ‘uint32_t’ does not name a type
  174 |                 uint32_t height = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:174:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:175:17: error: ‘uint32_t’ does not name a type
  175 |                 uint32_t levels = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:175:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:184:17: error: ‘uint32_t’ does not name a type
  184 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:184:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:185:17: error: ‘uint32_t’ does not name a type
  185 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:185:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:186:17: error: ‘uint32_t’ does not name a type
  186 |                 uint32_t texture_binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:186:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:197:17: error: ‘uint8_t’ does not name a type
  197 |                 uint8_t srgb = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:197:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:207:17: error: ‘uint32_t’ does not name a type
  207 |                 uint32_t size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:207:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:208:17: error: ‘uint32_t’ does not name a type
  208 |                 uint32_t offset = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:208:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:228:17: error: ‘uint32_t’ does not name a type
  228 |                 uint32_t definition;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:228:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:244:17: error: ‘uint8_t’ does not name a type
  244 |                 uint8_t clear_render_targets = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:244:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:245:17: error: ‘uint8_t’ does not name a type
  245 |                 uint8_t srgb_write_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:245:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:246:17: error: ‘uint8_t’ does not name a type
  246 |                 uint8_t blend_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:246:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:247:17: error: ‘uint8_t’ does not name a type
  247 |                 uint8_t stencil_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:247:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:248:17: error: ‘uint8_t’ does not name a type
  248 |                 uint8_t color_write_mask = 0xF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:248:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:249:17: error: ‘uint8_t’ does not name a type
  249 |                 uint8_t stencil_read_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:249:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:250:17: error: ‘uint8_t’ does not name a type
  250 |                 uint8_t stencil_write_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:250:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:251:17: error: ‘pass_blend_op’ does not name a type
  251 |                 pass_blend_op blend_op = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:252:17: error: ‘pass_blend_op’ does not name a type
  252 |                 pass_blend_op blend_op_alpha = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:253:17: error: ‘pass_blend_func’ does not name a type
  253 |                 pass_blend_func src_blend = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:254:17: error: ‘pass_blend_func’ does not name a type
  254 |                 pass_blend_func dest_blend = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:255:17: error: ‘pass_blend_func’ does not name a type
  255 |                 pass_blend_func src_blend_alpha = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:256:17: error: ‘pass_blend_func’ does not name a type
  256 |                 pass_blend_func dest_blend_alpha = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:257:17: error: ‘pass_stencil_func’ does not name a type
  257 |                 pass_stencil_func stencil_comparison_func = pass_stencil_func::always;
      |                 ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:258:17: error: ‘uint32_t’ does not name a type
  258 |                 uint32_t stencil_reference_value = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:258:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:259:17: error: ‘pass_stencil_op’ does not name a type
  259 |                 pass_stencil_op stencil_op_pass = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:260:17: error: ‘pass_stencil_op’ does not name a type
  260 |                 pass_stencil_op stencil_op_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:261:17: error: ‘pass_stencil_op’ does not name a type
  261 |                 pass_stencil_op stencil_op_depth_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:262:17: error: ‘uint32_t’ does not name a type
  262 |                 uint32_t num_vertices = 3;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:262:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:263:17: error: ‘primitive_topology’ does not name a type
  263 |                 primitive_topology topology = primitive_topology::triangle_list;
      |                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:264:17: error: ‘uint32_t’ does not name a type
  264 |                 uint32_t viewport_width = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:264:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:265:17: error: ‘uint32_t’ does not name a type
  265 |                 uint32_t viewport_height = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:265:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:29: error: ‘uint32_t’ was not declared in this scope
  284 |                 std::vector<uint32_t> spirv;
      |                             ^~~~~~~~
../src/reshade/effect_module.hpp:284:29: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:37: error: template argument 1 is invalid
  284 |                 std::vector<uint32_t> spirv;
      |                                     ^
../src/reshade/effect_module.hpp:284:37: error: template argument 2 is invalid
../src/reshade/effect_module.hpp:284:22: error: ‘<expression error>’ in namespace ‘std’ does not name a type
  284 |                 std::vector<uint32_t> spirv;
      |                      ^~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:292:17: error: ‘uint32_t’ does not name a type
  292 |                 uint32_t total_uniform_size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:292:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:293:17: error: ‘uint32_t’ does not name a type
  293 |                 uint32_t num_sampler_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:293:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:294:17: error: ‘uint32_t’ does not name a type
  294 |                 uint32_t num_texture_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:294:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_symbol_table.hpp:41:17: error: ‘uint32_t’ does not name a type
   41 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_symbol_table.hpp:10:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    9 | #include <unordered_map> // Used for symbol lookup table
  +++ |+#include <cstdint>
   10 | 
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:27:26: note: in expansion of macro ‘int’
   27 | DEFINE_INTRINSIC(abs, 0, int, int)
      |                          ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:27:31: note: in expansion of macro ‘int’
   27 | DEFINE_INTRINSIC(abs, 0, int, int)
      |                               ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:27:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   27 | DEFINE_INTRINSIC(abs, 0, int, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:28:26: note: in expansion of macro ‘int2’
   28 | DEFINE_INTRINSIC(abs, 0, int2, int2)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:28:32: note: in expansion of macro ‘int2’
   28 | DEFINE_INTRINSIC(abs, 0, int2, int2)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:28:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   28 | DEFINE_INTRINSIC(abs, 0, int2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:29:26: note: in expansion of macro ‘int3’
   29 | DEFINE_INTRINSIC(abs, 0, int3, int3)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:29:32: note: in expansion of macro ‘int3’
   29 | DEFINE_INTRINSIC(abs, 0, int3, int3)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:29:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   29 | DEFINE_INTRINSIC(abs, 0, int3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:30:26: note: in expansion of macro ‘int4’
   30 | DEFINE_INTRINSIC(abs, 0, int4, int4)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:30:32: note: in expansion of macro ‘int4’
   30 | DEFINE_INTRINSIC(abs, 0, int4, int4)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:30:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   30 | DEFINE_INTRINSIC(abs, 0, int4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:31:26: note: in expansion of macro ‘float’
   31 | DEFINE_INTRINSIC(abs, 1, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:31:33: note: in expansion of macro ‘float’
   31 | DEFINE_INTRINSIC(abs, 1, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:31:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   31 | DEFINE_INTRINSIC(abs, 1, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:32:26: note: in expansion of macro ‘float2’
   32 | DEFINE_INTRINSIC(abs, 1, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:32:34: note: in expansion of macro ‘float2’
   32 | DEFINE_INTRINSIC(abs, 1, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:32:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   32 | DEFINE_INTRINSIC(abs, 1, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:33:26: note: in expansion of macro ‘float3’
   33 | DEFINE_INTRINSIC(abs, 1, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:33:34: note: in expansion of macro ‘float3’
   33 | DEFINE_INTRINSIC(abs, 1, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:33:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   33 | DEFINE_INTRINSIC(abs, 1, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:34:26: note: in expansion of macro ‘float4’
   34 | DEFINE_INTRINSIC(abs, 1, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:34:34: note: in expansion of macro ‘float4’
   34 | DEFINE_INTRINSIC(abs, 1, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:34:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   34 | DEFINE_INTRINSIC(abs, 1, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:63:26: note: in expansion of macro ‘bool’
   63 | DEFINE_INTRINSIC(all, 0, bool, bool)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:63:32: note: in expansion of macro ‘bool’
   63 | DEFINE_INTRINSIC(all, 0, bool, bool)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:63:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   63 | DEFINE_INTRINSIC(all, 0, bool, bool)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:64:26: note: in expansion of macro ‘bool’
   64 | DEFINE_INTRINSIC(all, 1, bool, bool2)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:37:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   37 | #define bool2 { reshadefx::type::t_bool, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:64:32: note: in expansion of macro ‘bool2’
   64 | DEFINE_INTRINSIC(all, 1, bool, bool2)
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:64:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   64 | DEFINE_INTRINSIC(all, 1, bool, bool2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:65:26: note: in expansion of macro ‘bool’
   65 | DEFINE_INTRINSIC(all, 1, bool, bool3)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:38:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   38 | #define bool3 { reshadefx::type::t_bool, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:65:32: note: in expansion of macro ‘bool3’
   65 | DEFINE_INTRINSIC(all, 1, bool, bool3)
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:65:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   65 | DEFINE_INTRINSIC(all, 1, bool, bool3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:66:26: note: in expansion of macro ‘bool’
   66 | DEFINE_INTRINSIC(all, 1, bool, bool4)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:39:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   39 | #define bool4 { reshadefx::type::t_bool, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:66:32: note: in expansion of macro ‘bool4’
   66 | DEFINE_INTRINSIC(all, 1, bool, bool4)
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:66:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   66 | DEFINE_INTRINSIC(all, 1, bool, bool4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:89:26: note: in expansion of macro ‘bool’
   89 | DEFINE_INTRINSIC(any, 0, bool, bool)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:89:32: note: in expansion of macro ‘bool’
   89 | DEFINE_INTRINSIC(any, 0, bool, bool)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:89:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   89 | DEFINE_INTRINSIC(any, 0, bool, bool)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:90:26: note: in expansion of macro ‘bool’
   90 | DEFINE_INTRINSIC(any, 1, bool, bool2)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:37:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   37 | #define bool2 { reshadefx::type::t_bool, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:90:32: note: in expansion of macro ‘bool2’
   90 | DEFINE_INTRINSIC(any, 1, bool, bool2)
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:90:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   90 | DEFINE_INTRINSIC(any, 1, bool, bool2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:91:26: note: in expansion of macro ‘bool’
   91 | DEFINE_INTRINSIC(any, 1, bool, bool3)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:38:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   38 | #define bool3 { reshadefx::type::t_bool, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:91:32: note: in expansion of macro ‘bool3’
   91 | DEFINE_INTRINSIC(any, 1, bool, bool3)
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:91:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   91 | DEFINE_INTRINSIC(any, 1, bool, bool3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:92:26: note: in expansion of macro ‘bool’
   92 | DEFINE_INTRINSIC(any, 1, bool, bool4)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:39:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   39 | #define bool4 { reshadefx::type::t_bool, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:92:32: note: in expansion of macro ‘bool4’
   92 | DEFINE_INTRINSIC(any, 1, bool, bool4)
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:92:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
   92 | DEFINE_INTRINSIC(any, 1, bool, bool4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:115:27: note: in expansion of macro ‘float’
  115 | DEFINE_INTRINSIC(asin, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:115:34: note: in expansion of macro ‘float’
  115 | DEFINE_INTRINSIC(asin, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:115:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  115 | DEFINE_INTRINSIC(asin, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:116:27: note: in expansion of macro ‘float2’
  116 | DEFINE_INTRINSIC(asin, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:116:35: note: in expansion of macro ‘float2’
  116 | DEFINE_INTRINSIC(asin, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:116:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  116 | DEFINE_INTRINSIC(asin, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:117:27: note: in expansion of macro ‘float3’
  117 | DEFINE_INTRINSIC(asin, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:117:35: note: in expansion of macro ‘float3’
  117 | DEFINE_INTRINSIC(asin, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:117:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  117 | DEFINE_INTRINSIC(asin, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:118:27: note: in expansion of macro ‘float4’
  118 | DEFINE_INTRINSIC(asin, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:118:35: note: in expansion of macro ‘float4’
  118 | DEFINE_INTRINSIC(asin, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:118:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  118 | DEFINE_INTRINSIC(asin, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:134:27: note: in expansion of macro ‘float’
  134 | DEFINE_INTRINSIC(acos, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:134:34: note: in expansion of macro ‘float’
  134 | DEFINE_INTRINSIC(acos, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:134:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  134 | DEFINE_INTRINSIC(acos, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:135:27: note: in expansion of macro ‘float2’
  135 | DEFINE_INTRINSIC(acos, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:135:35: note: in expansion of macro ‘float2’
  135 | DEFINE_INTRINSIC(acos, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:135:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  135 | DEFINE_INTRINSIC(acos, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:136:27: note: in expansion of macro ‘float3’
  136 | DEFINE_INTRINSIC(acos, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:136:35: note: in expansion of macro ‘float3’
  136 | DEFINE_INTRINSIC(acos, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:136:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  136 | DEFINE_INTRINSIC(acos, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:137:27: note: in expansion of macro ‘float4’
  137 | DEFINE_INTRINSIC(acos, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:137:35: note: in expansion of macro ‘float4’
  137 | DEFINE_INTRINSIC(acos, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:137:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  137 | DEFINE_INTRINSIC(acos, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:153:27: note: in expansion of macro ‘float’
  153 | DEFINE_INTRINSIC(atan, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:153:34: note: in expansion of macro ‘float’
  153 | DEFINE_INTRINSIC(atan, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:153:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  153 | DEFINE_INTRINSIC(atan, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:154:27: note: in expansion of macro ‘float2’
  154 | DEFINE_INTRINSIC(atan, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:154:35: note: in expansion of macro ‘float2’
  154 | DEFINE_INTRINSIC(atan, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:154:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  154 | DEFINE_INTRINSIC(atan, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:155:27: note: in expansion of macro ‘float3’
  155 | DEFINE_INTRINSIC(atan, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:155:35: note: in expansion of macro ‘float3’
  155 | DEFINE_INTRINSIC(atan, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:155:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  155 | DEFINE_INTRINSIC(atan, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:156:27: note: in expansion of macro ‘float4’
  156 | DEFINE_INTRINSIC(atan, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:156:35: note: in expansion of macro ‘float4’
  156 | DEFINE_INTRINSIC(atan, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:156:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  156 | DEFINE_INTRINSIC(atan, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:172:28: note: in expansion of macro ‘float’
  172 | DEFINE_INTRINSIC(atan2, 0, float, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:172:35: note: in expansion of macro ‘float’
  172 | DEFINE_INTRINSIC(atan2, 0, float, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:172:42: note: in expansion of macro ‘float’
  172 | DEFINE_INTRINSIC(atan2, 0, float, float, float)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:172:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  172 | DEFINE_INTRINSIC(atan2, 0, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:173:28: note: in expansion of macro ‘float2’
  173 | DEFINE_INTRINSIC(atan2, 0, float2, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:173:36: note: in expansion of macro ‘float2’
  173 | DEFINE_INTRINSIC(atan2, 0, float2, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:173:44: note: in expansion of macro ‘float2’
  173 | DEFINE_INTRINSIC(atan2, 0, float2, float2, float2)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:173:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  173 | DEFINE_INTRINSIC(atan2, 0, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:174:28: note: in expansion of macro ‘float3’
  174 | DEFINE_INTRINSIC(atan2, 0, float3, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:174:36: note: in expansion of macro ‘float3’
  174 | DEFINE_INTRINSIC(atan2, 0, float3, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:174:44: note: in expansion of macro ‘float3’
  174 | DEFINE_INTRINSIC(atan2, 0, float3, float3, float3)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:174:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  174 | DEFINE_INTRINSIC(atan2, 0, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:175:28: note: in expansion of macro ‘float4’
  175 | DEFINE_INTRINSIC(atan2, 0, float4, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:175:36: note: in expansion of macro ‘float4’
  175 | DEFINE_INTRINSIC(atan2, 0, float4, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:175:44: note: in expansion of macro ‘float4’
  175 | DEFINE_INTRINSIC(atan2, 0, float4, float4, float4)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:175:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  175 | DEFINE_INTRINSIC(atan2, 0, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:192:26: note: in expansion of macro ‘float’
  192 | DEFINE_INTRINSIC(sin, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:192:33: note: in expansion of macro ‘float’
  192 | DEFINE_INTRINSIC(sin, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:192:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  192 | DEFINE_INTRINSIC(sin, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:193:26: note: in expansion of macro ‘float2’
  193 | DEFINE_INTRINSIC(sin, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:193:34: note: in expansion of macro ‘float2’
  193 | DEFINE_INTRINSIC(sin, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:193:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  193 | DEFINE_INTRINSIC(sin, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:194:26: note: in expansion of macro ‘float3’
  194 | DEFINE_INTRINSIC(sin, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:194:34: note: in expansion of macro ‘float3’
  194 | DEFINE_INTRINSIC(sin, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:194:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  194 | DEFINE_INTRINSIC(sin, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:195:26: note: in expansion of macro ‘float4’
  195 | DEFINE_INTRINSIC(sin, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:195:34: note: in expansion of macro ‘float4’
  195 | DEFINE_INTRINSIC(sin, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:195:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  195 | DEFINE_INTRINSIC(sin, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:211:27: note: in expansion of macro ‘float’
  211 | DEFINE_INTRINSIC(sinh, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:211:34: note: in expansion of macro ‘float’
  211 | DEFINE_INTRINSIC(sinh, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:211:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  211 | DEFINE_INTRINSIC(sinh, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:212:27: note: in expansion of macro ‘float2’
  212 | DEFINE_INTRINSIC(sinh, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:212:35: note: in expansion of macro ‘float2’
  212 | DEFINE_INTRINSIC(sinh, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:212:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  212 | DEFINE_INTRINSIC(sinh, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:213:27: note: in expansion of macro ‘float3’
  213 | DEFINE_INTRINSIC(sinh, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:213:35: note: in expansion of macro ‘float3’
  213 | DEFINE_INTRINSIC(sinh, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:213:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  213 | DEFINE_INTRINSIC(sinh, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:214:27: note: in expansion of macro ‘float4’
  214 | DEFINE_INTRINSIC(sinh, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:214:35: note: in expansion of macro ‘float4’
  214 | DEFINE_INTRINSIC(sinh, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:214:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  214 | DEFINE_INTRINSIC(sinh, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:230:26: note: in expansion of macro ‘float’
  230 | DEFINE_INTRINSIC(cos, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:230:33: note: in expansion of macro ‘float’
  230 | DEFINE_INTRINSIC(cos, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:230:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  230 | DEFINE_INTRINSIC(cos, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:231:26: note: in expansion of macro ‘float2’
  231 | DEFINE_INTRINSIC(cos, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:231:34: note: in expansion of macro ‘float2’
  231 | DEFINE_INTRINSIC(cos, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:231:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  231 | DEFINE_INTRINSIC(cos, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:232:26: note: in expansion of macro ‘float3’
  232 | DEFINE_INTRINSIC(cos, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:232:34: note: in expansion of macro ‘float3’
  232 | DEFINE_INTRINSIC(cos, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:232:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  232 | DEFINE_INTRINSIC(cos, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:233:26: note: in expansion of macro ‘float4’
  233 | DEFINE_INTRINSIC(cos, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:233:34: note: in expansion of macro ‘float4’
  233 | DEFINE_INTRINSIC(cos, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:233:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  233 | DEFINE_INTRINSIC(cos, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:249:27: note: in expansion of macro ‘float’
  249 | DEFINE_INTRINSIC(cosh, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:249:34: note: in expansion of macro ‘float’
  249 | DEFINE_INTRINSIC(cosh, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:249:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  249 | DEFINE_INTRINSIC(cosh, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:250:27: note: in expansion of macro ‘float2’
  250 | DEFINE_INTRINSIC(cosh, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:250:35: note: in expansion of macro ‘float2’
  250 | DEFINE_INTRINSIC(cosh, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:250:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  250 | DEFINE_INTRINSIC(cosh, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:251:27: note: in expansion of macro ‘float3’
  251 | DEFINE_INTRINSIC(cosh, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:251:35: note: in expansion of macro ‘float3’
  251 | DEFINE_INTRINSIC(cosh, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:251:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  251 | DEFINE_INTRINSIC(cosh, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:252:27: note: in expansion of macro ‘float4’
  252 | DEFINE_INTRINSIC(cosh, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:252:35: note: in expansion of macro ‘float4’
  252 | DEFINE_INTRINSIC(cosh, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:252:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  252 | DEFINE_INTRINSIC(cosh, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:268:26: note: in expansion of macro ‘float’
  268 | DEFINE_INTRINSIC(tan, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:268:33: note: in expansion of macro ‘float’
  268 | DEFINE_INTRINSIC(tan, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:268:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  268 | DEFINE_INTRINSIC(tan, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:269:26: note: in expansion of macro ‘float2’
  269 | DEFINE_INTRINSIC(tan, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:269:34: note: in expansion of macro ‘float2’
  269 | DEFINE_INTRINSIC(tan, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:269:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  269 | DEFINE_INTRINSIC(tan, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:270:26: note: in expansion of macro ‘float3’
  270 | DEFINE_INTRINSIC(tan, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:270:34: note: in expansion of macro ‘float3’
  270 | DEFINE_INTRINSIC(tan, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:270:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  270 | DEFINE_INTRINSIC(tan, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:271:26: note: in expansion of macro ‘float4’
  271 | DEFINE_INTRINSIC(tan, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:271:34: note: in expansion of macro ‘float4’
  271 | DEFINE_INTRINSIC(tan, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:271:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  271 | DEFINE_INTRINSIC(tan, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:287:27: note: in expansion of macro ‘float’
  287 | DEFINE_INTRINSIC(tanh, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:287:34: note: in expansion of macro ‘float’
  287 | DEFINE_INTRINSIC(tanh, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:287:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  287 | DEFINE_INTRINSIC(tanh, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:288:27: note: in expansion of macro ‘float2’
  288 | DEFINE_INTRINSIC(tanh, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:288:35: note: in expansion of macro ‘float2’
  288 | DEFINE_INTRINSIC(tanh, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:288:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  288 | DEFINE_INTRINSIC(tanh, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:289:27: note: in expansion of macro ‘float3’
  289 | DEFINE_INTRINSIC(tanh, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:289:35: note: in expansion of macro ‘float3’
  289 | DEFINE_INTRINSIC(tanh, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:289:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  289 | DEFINE_INTRINSIC(tanh, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:290:27: note: in expansion of macro ‘float4’
  290 | DEFINE_INTRINSIC(tanh, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:290:35: note: in expansion of macro ‘float4’
  290 | DEFINE_INTRINSIC(tanh, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:290:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  290 | DEFINE_INTRINSIC(tanh, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:35:33: error: ‘t_void’ is not a member of ‘reshadefx::type’
   35 | #define void { reshadefx::type::t_void }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:306:29: note: in expansion of macro ‘void’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      |                             ^~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:306:35: note: in expansion of macro ‘float’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:55:38: error: ‘t_float’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                      ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:306:42: note: in expansion of macro ‘out_float’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      |                                          ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:55:70: error: ‘q_out’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:306:42: note: in expansion of macro ‘out_float’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      |                                          ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:55:38: error: ‘t_float’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                      ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:306:53: note: in expansion of macro ‘out_float’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      |                                                     ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:55:70: error: ‘q_out’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:306:53: note: in expansion of macro ‘out_float’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      |                                                     ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:306:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  306 | DEFINE_INTRINSIC(sincos, 0, void, float, out_float, out_float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:35:33: error: ‘t_void’ is not a member of ‘reshadefx::type’
   35 | #define void { reshadefx::type::t_void }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:307:29: note: in expansion of macro ‘void’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      |                             ^~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:307:35: note: in expansion of macro ‘float2’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:56:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:307:43: note: in expansion of macro ‘out_float2’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:56:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:307:43: note: in expansion of macro ‘out_float2’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:56:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:307:55: note: in expansion of macro ‘out_float2’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      |                                                       ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:56:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:307:55: note: in expansion of macro ‘out_float2’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      |                                                       ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:307:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  307 | DEFINE_INTRINSIC(sincos, 0, void, float2, out_float2, out_float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:35:33: error: ‘t_void’ is not a member of ‘reshadefx::type’
   35 | #define void { reshadefx::type::t_void }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:308:29: note: in expansion of macro ‘void’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      |                             ^~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:308:35: note: in expansion of macro ‘float3’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:57:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:308:43: note: in expansion of macro ‘out_float3’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:57:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:308:43: note: in expansion of macro ‘out_float3’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:57:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:308:55: note: in expansion of macro ‘out_float3’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      |                                                       ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:57:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:308:55: note: in expansion of macro ‘out_float3’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      |                                                       ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:308:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  308 | DEFINE_INTRINSIC(sincos, 0, void, float3, out_float3, out_float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:35:33: error: ‘t_void’ is not a member of ‘reshadefx::type’
   35 | #define void { reshadefx::type::t_void }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:309:29: note: in expansion of macro ‘void’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      |                             ^~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:309:35: note: in expansion of macro ‘float4’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:58:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:309:43: note: in expansion of macro ‘out_float4’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:58:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:309:43: note: in expansion of macro ‘out_float4’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:58:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:309:55: note: in expansion of macro ‘out_float4’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      |                                                       ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:58:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:309:55: note: in expansion of macro ‘out_float4’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      |                                                       ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:309:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  309 | DEFINE_INTRINSIC(sincos, 0, void, float4, out_float4, out_float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:339:28: note: in expansion of macro ‘int’
  339 | DEFINE_INTRINSIC(asint, 0, int, float)
      |                            ^~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:339:33: note: in expansion of macro ‘float’
  339 | DEFINE_INTRINSIC(asint, 0, int, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:339:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  339 | DEFINE_INTRINSIC(asint, 0, int, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:340:28: note: in expansion of macro ‘int2’
  340 | DEFINE_INTRINSIC(asint, 0, int2, float2)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:340:34: note: in expansion of macro ‘float2’
  340 | DEFINE_INTRINSIC(asint, 0, int2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:340:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  340 | DEFINE_INTRINSIC(asint, 0, int2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:341:28: note: in expansion of macro ‘int3’
  341 | DEFINE_INTRINSIC(asint, 0, int3, float3)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:341:34: note: in expansion of macro ‘float3’
  341 | DEFINE_INTRINSIC(asint, 0, int3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:341:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  341 | DEFINE_INTRINSIC(asint, 0, int3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:342:28: note: in expansion of macro ‘int4’
  342 | DEFINE_INTRINSIC(asint, 0, int4, float4)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:342:34: note: in expansion of macro ‘float4’
  342 | DEFINE_INTRINSIC(asint, 0, int4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:342:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  342 | DEFINE_INTRINSIC(asint, 0, int4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:44:33: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   44 | #define uint { reshadefx::type::t_uint, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:356:29: note: in expansion of macro ‘uint’
  356 | DEFINE_INTRINSIC(asuint, 0, uint, float)
      |                             ^~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:356:35: note: in expansion of macro ‘float’
  356 | DEFINE_INTRINSIC(asuint, 0, uint, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:356:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  356 | DEFINE_INTRINSIC(asuint, 0, uint, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:45:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   45 | #define uint2 { reshadefx::type::t_uint, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:357:29: note: in expansion of macro ‘uint2’
  357 | DEFINE_INTRINSIC(asuint, 0, uint2, float2)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:357:36: note: in expansion of macro ‘float2’
  357 | DEFINE_INTRINSIC(asuint, 0, uint2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:357:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  357 | DEFINE_INTRINSIC(asuint, 0, uint2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:46:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   46 | #define uint3 { reshadefx::type::t_uint, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:358:29: note: in expansion of macro ‘uint3’
  358 | DEFINE_INTRINSIC(asuint, 0, uint3, float3)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:358:36: note: in expansion of macro ‘float3’
  358 | DEFINE_INTRINSIC(asuint, 0, uint3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:358:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  358 | DEFINE_INTRINSIC(asuint, 0, uint3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:47:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   47 | #define uint4 { reshadefx::type::t_uint, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:359:29: note: in expansion of macro ‘uint4’
  359 | DEFINE_INTRINSIC(asuint, 0, uint4, float4)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:359:36: note: in expansion of macro ‘float4’
  359 | DEFINE_INTRINSIC(asuint, 0, uint4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:359:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  359 | DEFINE_INTRINSIC(asuint, 0, uint4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:373:30: note: in expansion of macro ‘float’
  373 | DEFINE_INTRINSIC(asfloat, 0, float, int)
      |                              ^~~~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:373:37: note: in expansion of macro ‘int’
  373 | DEFINE_INTRINSIC(asfloat, 0, float, int)
      |                                     ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:373:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  373 | DEFINE_INTRINSIC(asfloat, 0, float, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:374:30: note: in expansion of macro ‘float2’
  374 | DEFINE_INTRINSIC(asfloat, 0, float2, int2)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:374:38: note: in expansion of macro ‘int2’
  374 | DEFINE_INTRINSIC(asfloat, 0, float2, int2)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:374:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  374 | DEFINE_INTRINSIC(asfloat, 0, float2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:375:30: note: in expansion of macro ‘float3’
  375 | DEFINE_INTRINSIC(asfloat, 0, float3, int3)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:375:38: note: in expansion of macro ‘int3’
  375 | DEFINE_INTRINSIC(asfloat, 0, float3, int3)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:375:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  375 | DEFINE_INTRINSIC(asfloat, 0, float3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:376:30: note: in expansion of macro ‘float4’
  376 | DEFINE_INTRINSIC(asfloat, 0, float4, int4)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:376:38: note: in expansion of macro ‘int4’
  376 | DEFINE_INTRINSIC(asfloat, 0, float4, int4)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:376:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  376 | DEFINE_INTRINSIC(asfloat, 0, float4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:377:30: note: in expansion of macro ‘float’
  377 | DEFINE_INTRINSIC(asfloat, 1, float, uint)
      |                              ^~~~~
../src/reshade/effect_symbol_table.cpp:44:33: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   44 | #define uint { reshadefx::type::t_uint, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:377:37: note: in expansion of macro ‘uint’
  377 | DEFINE_INTRINSIC(asfloat, 1, float, uint)
      |                                     ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:377:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  377 | DEFINE_INTRINSIC(asfloat, 1, float, uint)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:378:30: note: in expansion of macro ‘float2’
  378 | DEFINE_INTRINSIC(asfloat, 1, float2, uint2)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:45:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   45 | #define uint2 { reshadefx::type::t_uint, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:378:38: note: in expansion of macro ‘uint2’
  378 | DEFINE_INTRINSIC(asfloat, 1, float2, uint2)
      |                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:378:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  378 | DEFINE_INTRINSIC(asfloat, 1, float2, uint2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:379:30: note: in expansion of macro ‘float3’
  379 | DEFINE_INTRINSIC(asfloat, 1, float3, uint3)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:46:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   46 | #define uint3 { reshadefx::type::t_uint, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:379:38: note: in expansion of macro ‘uint3’
  379 | DEFINE_INTRINSIC(asfloat, 1, float3, uint3)
      |                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:379:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  379 | DEFINE_INTRINSIC(asfloat, 1, float3, uint3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:380:30: note: in expansion of macro ‘float4’
  380 | DEFINE_INTRINSIC(asfloat, 1, float4, uint4)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:47:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   47 | #define uint4 { reshadefx::type::t_uint, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:380:38: note: in expansion of macro ‘uint4’
  380 | DEFINE_INTRINSIC(asfloat, 1, float4, uint4)
      |                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:380:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  380 | DEFINE_INTRINSIC(asfloat, 1, float4, uint4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:405:27: note: in expansion of macro ‘float’
  405 | DEFINE_INTRINSIC(ceil, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:405:34: note: in expansion of macro ‘float’
  405 | DEFINE_INTRINSIC(ceil, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:405:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  405 | DEFINE_INTRINSIC(ceil, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:406:27: note: in expansion of macro ‘float2’
  406 | DEFINE_INTRINSIC(ceil, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:406:35: note: in expansion of macro ‘float2’
  406 | DEFINE_INTRINSIC(ceil, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:406:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  406 | DEFINE_INTRINSIC(ceil, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:407:27: note: in expansion of macro ‘float3’
  407 | DEFINE_INTRINSIC(ceil, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:407:35: note: in expansion of macro ‘float3’
  407 | DEFINE_INTRINSIC(ceil, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:407:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  407 | DEFINE_INTRINSIC(ceil, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:408:27: note: in expansion of macro ‘float4’
  408 | DEFINE_INTRINSIC(ceil, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:408:35: note: in expansion of macro ‘float4’
  408 | DEFINE_INTRINSIC(ceil, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:408:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  408 | DEFINE_INTRINSIC(ceil, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:424:28: note: in expansion of macro ‘float’
  424 | DEFINE_INTRINSIC(floor, 0, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:424:35: note: in expansion of macro ‘float’
  424 | DEFINE_INTRINSIC(floor, 0, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:424:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  424 | DEFINE_INTRINSIC(floor, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:425:28: note: in expansion of macro ‘float2’
  425 | DEFINE_INTRINSIC(floor, 0, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:425:36: note: in expansion of macro ‘float2’
  425 | DEFINE_INTRINSIC(floor, 0, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:425:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  425 | DEFINE_INTRINSIC(floor, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:426:28: note: in expansion of macro ‘float3’
  426 | DEFINE_INTRINSIC(floor, 0, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:426:36: note: in expansion of macro ‘float3’
  426 | DEFINE_INTRINSIC(floor, 0, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:426:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  426 | DEFINE_INTRINSIC(floor, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:427:28: note: in expansion of macro ‘float4’
  427 | DEFINE_INTRINSIC(floor, 0, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:427:36: note: in expansion of macro ‘float4’
  427 | DEFINE_INTRINSIC(floor, 0, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:427:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  427 | DEFINE_INTRINSIC(floor, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:446:28: note: in expansion of macro ‘int’
  446 | DEFINE_INTRINSIC(clamp, 0, int, int, int, int)
      |                            ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:446:33: note: in expansion of macro ‘int’
  446 | DEFINE_INTRINSIC(clamp, 0, int, int, int, int)
      |                                 ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:446:38: note: in expansion of macro ‘int’
  446 | DEFINE_INTRINSIC(clamp, 0, int, int, int, int)
      |                                      ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:446:43: note: in expansion of macro ‘int’
  446 | DEFINE_INTRINSIC(clamp, 0, int, int, int, int)
      |                                           ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:446:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  446 | DEFINE_INTRINSIC(clamp, 0, int, int, int, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:447:28: note: in expansion of macro ‘int2’
  447 | DEFINE_INTRINSIC(clamp, 0, int2, int2, int2, int2)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:447:34: note: in expansion of macro ‘int2’
  447 | DEFINE_INTRINSIC(clamp, 0, int2, int2, int2, int2)
      |                                  ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:447:40: note: in expansion of macro ‘int2’
  447 | DEFINE_INTRINSIC(clamp, 0, int2, int2, int2, int2)
      |                                        ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:447:46: note: in expansion of macro ‘int2’
  447 | DEFINE_INTRINSIC(clamp, 0, int2, int2, int2, int2)
      |                                              ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:447:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  447 | DEFINE_INTRINSIC(clamp, 0, int2, int2, int2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:448:28: note: in expansion of macro ‘int3’
  448 | DEFINE_INTRINSIC(clamp, 0, int3, int3, int3, int3)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:448:34: note: in expansion of macro ‘int3’
  448 | DEFINE_INTRINSIC(clamp, 0, int3, int3, int3, int3)
      |                                  ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:448:40: note: in expansion of macro ‘int3’
  448 | DEFINE_INTRINSIC(clamp, 0, int3, int3, int3, int3)
      |                                        ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:448:46: note: in expansion of macro ‘int3’
  448 | DEFINE_INTRINSIC(clamp, 0, int3, int3, int3, int3)
      |                                              ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:448:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  448 | DEFINE_INTRINSIC(clamp, 0, int3, int3, int3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:449:28: note: in expansion of macro ‘int4’
  449 | DEFINE_INTRINSIC(clamp, 0, int4, int4, int4, int4)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:449:34: note: in expansion of macro ‘int4’
  449 | DEFINE_INTRINSIC(clamp, 0, int4, int4, int4, int4)
      |                                  ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:449:40: note: in expansion of macro ‘int4’
  449 | DEFINE_INTRINSIC(clamp, 0, int4, int4, int4, int4)
      |                                        ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:449:46: note: in expansion of macro ‘int4’
  449 | DEFINE_INTRINSIC(clamp, 0, int4, int4, int4, int4)
      |                                              ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:449:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  449 | DEFINE_INTRINSIC(clamp, 0, int4, int4, int4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:44:33: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   44 | #define uint { reshadefx::type::t_uint, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:450:28: note: in expansion of macro ‘uint’
  450 | DEFINE_INTRINSIC(clamp, 1, uint, uint, uint, uint)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:44:33: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   44 | #define uint { reshadefx::type::t_uint, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:450:34: note: in expansion of macro ‘uint’
  450 | DEFINE_INTRINSIC(clamp, 1, uint, uint, uint, uint)
      |                                  ^~~~
../src/reshade/effect_symbol_table.cpp:44:33: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   44 | #define uint { reshadefx::type::t_uint, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:450:40: note: in expansion of macro ‘uint’
  450 | DEFINE_INTRINSIC(clamp, 1, uint, uint, uint, uint)
      |                                        ^~~~
../src/reshade/effect_symbol_table.cpp:44:33: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   44 | #define uint { reshadefx::type::t_uint, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:450:46: note: in expansion of macro ‘uint’
  450 | DEFINE_INTRINSIC(clamp, 1, uint, uint, uint, uint)
      |                                              ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:450:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  450 | DEFINE_INTRINSIC(clamp, 1, uint, uint, uint, uint)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:45:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   45 | #define uint2 { reshadefx::type::t_uint, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:451:28: note: in expansion of macro ‘uint2’
  451 | DEFINE_INTRINSIC(clamp, 1, uint2, uint2, uint2, uint2)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:45:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   45 | #define uint2 { reshadefx::type::t_uint, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:451:35: note: in expansion of macro ‘uint2’
  451 | DEFINE_INTRINSIC(clamp, 1, uint2, uint2, uint2, uint2)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:45:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   45 | #define uint2 { reshadefx::type::t_uint, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:451:42: note: in expansion of macro ‘uint2’
  451 | DEFINE_INTRINSIC(clamp, 1, uint2, uint2, uint2, uint2)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:45:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   45 | #define uint2 { reshadefx::type::t_uint, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:451:49: note: in expansion of macro ‘uint2’
  451 | DEFINE_INTRINSIC(clamp, 1, uint2, uint2, uint2, uint2)
      |                                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:451:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  451 | DEFINE_INTRINSIC(clamp, 1, uint2, uint2, uint2, uint2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:46:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   46 | #define uint3 { reshadefx::type::t_uint, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:452:28: note: in expansion of macro ‘uint3’
  452 | DEFINE_INTRINSIC(clamp, 1, uint3, uint3, uint3, uint3)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:46:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   46 | #define uint3 { reshadefx::type::t_uint, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:452:35: note: in expansion of macro ‘uint3’
  452 | DEFINE_INTRINSIC(clamp, 1, uint3, uint3, uint3, uint3)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:46:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   46 | #define uint3 { reshadefx::type::t_uint, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:452:42: note: in expansion of macro ‘uint3’
  452 | DEFINE_INTRINSIC(clamp, 1, uint3, uint3, uint3, uint3)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:46:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   46 | #define uint3 { reshadefx::type::t_uint, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:452:49: note: in expansion of macro ‘uint3’
  452 | DEFINE_INTRINSIC(clamp, 1, uint3, uint3, uint3, uint3)
      |                                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:452:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  452 | DEFINE_INTRINSIC(clamp, 1, uint3, uint3, uint3, uint3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:47:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   47 | #define uint4 { reshadefx::type::t_uint, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:453:28: note: in expansion of macro ‘uint4’
  453 | DEFINE_INTRINSIC(clamp, 1, uint4, uint4, uint4, uint4)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:47:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   47 | #define uint4 { reshadefx::type::t_uint, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:453:35: note: in expansion of macro ‘uint4’
  453 | DEFINE_INTRINSIC(clamp, 1, uint4, uint4, uint4, uint4)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:47:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   47 | #define uint4 { reshadefx::type::t_uint, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:453:42: note: in expansion of macro ‘uint4’
  453 | DEFINE_INTRINSIC(clamp, 1, uint4, uint4, uint4, uint4)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:47:34: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   47 | #define uint4 { reshadefx::type::t_uint, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:453:49: note: in expansion of macro ‘uint4’
  453 | DEFINE_INTRINSIC(clamp, 1, uint4, uint4, uint4, uint4)
      |                                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:453:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  453 | DEFINE_INTRINSIC(clamp, 1, uint4, uint4, uint4, uint4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:454:28: note: in expansion of macro ‘float’
  454 | DEFINE_INTRINSIC(clamp, 2, float, float, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:454:35: note: in expansion of macro ‘float’
  454 | DEFINE_INTRINSIC(clamp, 2, float, float, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:454:42: note: in expansion of macro ‘float’
  454 | DEFINE_INTRINSIC(clamp, 2, float, float, float, float)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:454:49: note: in expansion of macro ‘float’
  454 | DEFINE_INTRINSIC(clamp, 2, float, float, float, float)
      |                                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:454:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  454 | DEFINE_INTRINSIC(clamp, 2, float, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:455:28: note: in expansion of macro ‘float2’
  455 | DEFINE_INTRINSIC(clamp, 2, float2, float2, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:455:36: note: in expansion of macro ‘float2’
  455 | DEFINE_INTRINSIC(clamp, 2, float2, float2, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:455:44: note: in expansion of macro ‘float2’
  455 | DEFINE_INTRINSIC(clamp, 2, float2, float2, float2, float2)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:455:52: note: in expansion of macro ‘float2’
  455 | DEFINE_INTRINSIC(clamp, 2, float2, float2, float2, float2)
      |                                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:455:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  455 | DEFINE_INTRINSIC(clamp, 2, float2, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:456:28: note: in expansion of macro ‘float3’
  456 | DEFINE_INTRINSIC(clamp, 2, float3, float3, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:456:36: note: in expansion of macro ‘float3’
  456 | DEFINE_INTRINSIC(clamp, 2, float3, float3, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:456:44: note: in expansion of macro ‘float3’
  456 | DEFINE_INTRINSIC(clamp, 2, float3, float3, float3, float3)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:456:52: note: in expansion of macro ‘float3’
  456 | DEFINE_INTRINSIC(clamp, 2, float3, float3, float3, float3)
      |                                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:456:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  456 | DEFINE_INTRINSIC(clamp, 2, float3, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:457:28: note: in expansion of macro ‘float4’
  457 | DEFINE_INTRINSIC(clamp, 2, float4, float4, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:457:36: note: in expansion of macro ‘float4’
  457 | DEFINE_INTRINSIC(clamp, 2, float4, float4, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:457:44: note: in expansion of macro ‘float4’
  457 | DEFINE_INTRINSIC(clamp, 2, float4, float4, float4, float4)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:457:52: note: in expansion of macro ‘float4’
  457 | DEFINE_INTRINSIC(clamp, 2, float4, float4, float4, float4)
      |                                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:457:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  457 | DEFINE_INTRINSIC(clamp, 2, float4, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:505:31: note: in expansion of macro ‘float’
  505 | DEFINE_INTRINSIC(saturate, 0, float, float)
      |                               ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:505:38: note: in expansion of macro ‘float’
  505 | DEFINE_INTRINSIC(saturate, 0, float, float)
      |                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:505:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  505 | DEFINE_INTRINSIC(saturate, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:506:31: note: in expansion of macro ‘float2’
  506 | DEFINE_INTRINSIC(saturate, 0, float2, float2)
      |                               ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:506:39: note: in expansion of macro ‘float2’
  506 | DEFINE_INTRINSIC(saturate, 0, float2, float2)
      |                                       ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:506:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  506 | DEFINE_INTRINSIC(saturate, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:507:31: note: in expansion of macro ‘float3’
  507 | DEFINE_INTRINSIC(saturate, 0, float3, float3)
      |                               ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:507:39: note: in expansion of macro ‘float3’
  507 | DEFINE_INTRINSIC(saturate, 0, float3, float3)
      |                                       ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:507:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  507 | DEFINE_INTRINSIC(saturate, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:508:31: note: in expansion of macro ‘float4’
  508 | DEFINE_INTRINSIC(saturate, 0, float4, float4)
      |                               ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:508:39: note: in expansion of macro ‘float4’
  508 | DEFINE_INTRINSIC(saturate, 0, float4, float4)
      |                                       ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:508:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  508 | DEFINE_INTRINSIC(saturate, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:529:26: note: in expansion of macro ‘float’
  529 | DEFINE_INTRINSIC(mad, 0, float, float, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:529:33: note: in expansion of macro ‘float’
  529 | DEFINE_INTRINSIC(mad, 0, float, float, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:529:40: note: in expansion of macro ‘float’
  529 | DEFINE_INTRINSIC(mad, 0, float, float, float, float)
      |                                        ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:529:47: note: in expansion of macro ‘float’
  529 | DEFINE_INTRINSIC(mad, 0, float, float, float, float)
      |                                               ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:529:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  529 | DEFINE_INTRINSIC(mad, 0, float, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:530:26: note: in expansion of macro ‘float2’
  530 | DEFINE_INTRINSIC(mad, 0, float2, float2, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:530:34: note: in expansion of macro ‘float2’
  530 | DEFINE_INTRINSIC(mad, 0, float2, float2, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:530:42: note: in expansion of macro ‘float2’
  530 | DEFINE_INTRINSIC(mad, 0, float2, float2, float2, float2)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:530:50: note: in expansion of macro ‘float2’
  530 | DEFINE_INTRINSIC(mad, 0, float2, float2, float2, float2)
      |                                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:530:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  530 | DEFINE_INTRINSIC(mad, 0, float2, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:531:26: note: in expansion of macro ‘float3’
  531 | DEFINE_INTRINSIC(mad, 0, float3, float3, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:531:34: note: in expansion of macro ‘float3’
  531 | DEFINE_INTRINSIC(mad, 0, float3, float3, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:531:42: note: in expansion of macro ‘float3’
  531 | DEFINE_INTRINSIC(mad, 0, float3, float3, float3, float3)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:531:50: note: in expansion of macro ‘float3’
  531 | DEFINE_INTRINSIC(mad, 0, float3, float3, float3, float3)
      |                                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:531:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  531 | DEFINE_INTRINSIC(mad, 0, float3, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:532:26: note: in expansion of macro ‘float4’
  532 | DEFINE_INTRINSIC(mad, 0, float4, float4, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:532:34: note: in expansion of macro ‘float4’
  532 | DEFINE_INTRINSIC(mad, 0, float4, float4, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:532:42: note: in expansion of macro ‘float4’
  532 | DEFINE_INTRINSIC(mad, 0, float4, float4, float4, float4)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:532:50: note: in expansion of macro ‘float4’
  532 | DEFINE_INTRINSIC(mad, 0, float4, float4, float4, float4)
      |                                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:532:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  532 | DEFINE_INTRINSIC(mad, 0, float4, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:553:26: note: in expansion of macro ‘float’
  553 | DEFINE_INTRINSIC(rcp, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:553:33: note: in expansion of macro ‘float’
  553 | DEFINE_INTRINSIC(rcp, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:553:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  553 | DEFINE_INTRINSIC(rcp, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:554:26: note: in expansion of macro ‘float2’
  554 | DEFINE_INTRINSIC(rcp, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:554:34: note: in expansion of macro ‘float2’
  554 | DEFINE_INTRINSIC(rcp, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:554:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  554 | DEFINE_INTRINSIC(rcp, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:555:26: note: in expansion of macro ‘float3’
  555 | DEFINE_INTRINSIC(rcp, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:555:34: note: in expansion of macro ‘float3’
  555 | DEFINE_INTRINSIC(rcp, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:555:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  555 | DEFINE_INTRINSIC(rcp, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:556:26: note: in expansion of macro ‘float4’
  556 | DEFINE_INTRINSIC(rcp, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:556:34: note: in expansion of macro ‘float4’
  556 | DEFINE_INTRINSIC(rcp, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:556:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  556 | DEFINE_INTRINSIC(rcp, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:576:26: note: in expansion of macro ‘float’
  576 | DEFINE_INTRINSIC(pow, 0, float, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:576:33: note: in expansion of macro ‘float’
  576 | DEFINE_INTRINSIC(pow, 0, float, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:576:40: note: in expansion of macro ‘float’
  576 | DEFINE_INTRINSIC(pow, 0, float, float, float)
      |                                        ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:576:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  576 | DEFINE_INTRINSIC(pow, 0, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:577:26: note: in expansion of macro ‘float2’
  577 | DEFINE_INTRINSIC(pow, 0, float2, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:577:34: note: in expansion of macro ‘float2’
  577 | DEFINE_INTRINSIC(pow, 0, float2, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:577:42: note: in expansion of macro ‘float2’
  577 | DEFINE_INTRINSIC(pow, 0, float2, float2, float2)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:577:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  577 | DEFINE_INTRINSIC(pow, 0, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:578:26: note: in expansion of macro ‘float3’
  578 | DEFINE_INTRINSIC(pow, 0, float3, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:578:34: note: in expansion of macro ‘float3’
  578 | DEFINE_INTRINSIC(pow, 0, float3, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:578:42: note: in expansion of macro ‘float3’
  578 | DEFINE_INTRINSIC(pow, 0, float3, float3, float3)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:578:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  578 | DEFINE_INTRINSIC(pow, 0, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:579:26: note: in expansion of macro ‘float4’
  579 | DEFINE_INTRINSIC(pow, 0, float4, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:579:34: note: in expansion of macro ‘float4’
  579 | DEFINE_INTRINSIC(pow, 0, float4, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:579:42: note: in expansion of macro ‘float4’
  579 | DEFINE_INTRINSIC(pow, 0, float4, float4, float4)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:579:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  579 | DEFINE_INTRINSIC(pow, 0, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:596:26: note: in expansion of macro ‘float’
  596 | DEFINE_INTRINSIC(exp, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:596:33: note: in expansion of macro ‘float’
  596 | DEFINE_INTRINSIC(exp, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:596:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  596 | DEFINE_INTRINSIC(exp, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:597:26: note: in expansion of macro ‘float2’
  597 | DEFINE_INTRINSIC(exp, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:597:34: note: in expansion of macro ‘float2’
  597 | DEFINE_INTRINSIC(exp, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:597:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  597 | DEFINE_INTRINSIC(exp, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:598:26: note: in expansion of macro ‘float3’
  598 | DEFINE_INTRINSIC(exp, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:598:34: note: in expansion of macro ‘float3’
  598 | DEFINE_INTRINSIC(exp, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:598:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  598 | DEFINE_INTRINSIC(exp, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:599:26: note: in expansion of macro ‘float4’
  599 | DEFINE_INTRINSIC(exp, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:599:34: note: in expansion of macro ‘float4’
  599 | DEFINE_INTRINSIC(exp, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:599:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  599 | DEFINE_INTRINSIC(exp, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:615:27: note: in expansion of macro ‘float’
  615 | DEFINE_INTRINSIC(exp2, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:615:34: note: in expansion of macro ‘float’
  615 | DEFINE_INTRINSIC(exp2, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:615:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  615 | DEFINE_INTRINSIC(exp2, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:616:27: note: in expansion of macro ‘float2’
  616 | DEFINE_INTRINSIC(exp2, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:616:35: note: in expansion of macro ‘float2’
  616 | DEFINE_INTRINSIC(exp2, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:616:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  616 | DEFINE_INTRINSIC(exp2, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:617:27: note: in expansion of macro ‘float3’
  617 | DEFINE_INTRINSIC(exp2, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:617:35: note: in expansion of macro ‘float3’
  617 | DEFINE_INTRINSIC(exp2, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:617:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  617 | DEFINE_INTRINSIC(exp2, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:618:27: note: in expansion of macro ‘float4’
  618 | DEFINE_INTRINSIC(exp2, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:618:35: note: in expansion of macro ‘float4’
  618 | DEFINE_INTRINSIC(exp2, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:618:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  618 | DEFINE_INTRINSIC(exp2, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:634:26: note: in expansion of macro ‘float’
  634 | DEFINE_INTRINSIC(log, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:634:33: note: in expansion of macro ‘float’
  634 | DEFINE_INTRINSIC(log, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:634:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  634 | DEFINE_INTRINSIC(log, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:635:26: note: in expansion of macro ‘float2’
  635 | DEFINE_INTRINSIC(log, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:635:34: note: in expansion of macro ‘float2’
  635 | DEFINE_INTRINSIC(log, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:635:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  635 | DEFINE_INTRINSIC(log, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:636:26: note: in expansion of macro ‘float3’
  636 | DEFINE_INTRINSIC(log, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:636:34: note: in expansion of macro ‘float3’
  636 | DEFINE_INTRINSIC(log, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:636:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  636 | DEFINE_INTRINSIC(log, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:637:26: note: in expansion of macro ‘float4’
  637 | DEFINE_INTRINSIC(log, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:637:34: note: in expansion of macro ‘float4’
  637 | DEFINE_INTRINSIC(log, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:637:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  637 | DEFINE_INTRINSIC(log, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:653:27: note: in expansion of macro ‘float’
  653 | DEFINE_INTRINSIC(log2, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:653:34: note: in expansion of macro ‘float’
  653 | DEFINE_INTRINSIC(log2, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:653:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  653 | DEFINE_INTRINSIC(log2, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:654:27: note: in expansion of macro ‘float2’
  654 | DEFINE_INTRINSIC(log2, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:654:35: note: in expansion of macro ‘float2’
  654 | DEFINE_INTRINSIC(log2, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:654:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  654 | DEFINE_INTRINSIC(log2, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:655:27: note: in expansion of macro ‘float3’
  655 | DEFINE_INTRINSIC(log2, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:655:35: note: in expansion of macro ‘float3’
  655 | DEFINE_INTRINSIC(log2, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:655:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  655 | DEFINE_INTRINSIC(log2, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:656:27: note: in expansion of macro ‘float4’
  656 | DEFINE_INTRINSIC(log2, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:656:35: note: in expansion of macro ‘float4’
  656 | DEFINE_INTRINSIC(log2, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:656:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  656 | DEFINE_INTRINSIC(log2, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:672:28: note: in expansion of macro ‘float’
  672 | DEFINE_INTRINSIC(log10, 0, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:672:35: note: in expansion of macro ‘float’
  672 | DEFINE_INTRINSIC(log10, 0, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:672:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  672 | DEFINE_INTRINSIC(log10, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:673:28: note: in expansion of macro ‘float2’
  673 | DEFINE_INTRINSIC(log10, 0, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:673:36: note: in expansion of macro ‘float2’
  673 | DEFINE_INTRINSIC(log10, 0, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:673:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  673 | DEFINE_INTRINSIC(log10, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:674:28: note: in expansion of macro ‘float3’
  674 | DEFINE_INTRINSIC(log10, 0, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:674:36: note: in expansion of macro ‘float3’
  674 | DEFINE_INTRINSIC(log10, 0, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:674:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  674 | DEFINE_INTRINSIC(log10, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:675:28: note: in expansion of macro ‘float4’
  675 | DEFINE_INTRINSIC(log10, 0, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:675:36: note: in expansion of macro ‘float4’
  675 | DEFINE_INTRINSIC(log10, 0, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:675:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  675 | DEFINE_INTRINSIC(log10, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:698:27: note: in expansion of macro ‘int’
  698 | DEFINE_INTRINSIC(sign, 0, int, int)
      |                           ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:698:32: note: in expansion of macro ‘int’
  698 | DEFINE_INTRINSIC(sign, 0, int, int)
      |                                ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:698:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  698 | DEFINE_INTRINSIC(sign, 0, int, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:699:27: note: in expansion of macro ‘int2’
  699 | DEFINE_INTRINSIC(sign, 0, int2, int2)
      |                           ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:699:33: note: in expansion of macro ‘int2’
  699 | DEFINE_INTRINSIC(sign, 0, int2, int2)
      |                                 ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:699:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  699 | DEFINE_INTRINSIC(sign, 0, int2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:700:27: note: in expansion of macro ‘int3’
  700 | DEFINE_INTRINSIC(sign, 0, int3, int3)
      |                           ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:700:33: note: in expansion of macro ‘int3’
  700 | DEFINE_INTRINSIC(sign, 0, int3, int3)
      |                                 ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:700:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  700 | DEFINE_INTRINSIC(sign, 0, int3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:701:27: note: in expansion of macro ‘int4’
  701 | DEFINE_INTRINSIC(sign, 0, int4, int4)
      |                           ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:701:33: note: in expansion of macro ‘int4’
  701 | DEFINE_INTRINSIC(sign, 0, int4, int4)
      |                                 ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:701:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  701 | DEFINE_INTRINSIC(sign, 0, int4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:702:27: note: in expansion of macro ‘float’
  702 | DEFINE_INTRINSIC(sign, 1, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:702:34: note: in expansion of macro ‘float’
  702 | DEFINE_INTRINSIC(sign, 1, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:702:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  702 | DEFINE_INTRINSIC(sign, 1, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:703:27: note: in expansion of macro ‘float2’
  703 | DEFINE_INTRINSIC(sign, 1, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:703:35: note: in expansion of macro ‘float2’
  703 | DEFINE_INTRINSIC(sign, 1, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:703:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  703 | DEFINE_INTRINSIC(sign, 1, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:704:27: note: in expansion of macro ‘float3’
  704 | DEFINE_INTRINSIC(sign, 1, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:704:35: note: in expansion of macro ‘float3’
  704 | DEFINE_INTRINSIC(sign, 1, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:704:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  704 | DEFINE_INTRINSIC(sign, 1, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:705:27: note: in expansion of macro ‘float4’
  705 | DEFINE_INTRINSIC(sign, 1, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:705:35: note: in expansion of macro ‘float4’
  705 | DEFINE_INTRINSIC(sign, 1, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:705:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  705 | DEFINE_INTRINSIC(sign, 1, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:734:27: note: in expansion of macro ‘float’
  734 | DEFINE_INTRINSIC(sqrt, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:734:34: note: in expansion of macro ‘float’
  734 | DEFINE_INTRINSIC(sqrt, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:734:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  734 | DEFINE_INTRINSIC(sqrt, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:735:27: note: in expansion of macro ‘float2’
  735 | DEFINE_INTRINSIC(sqrt, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:735:35: note: in expansion of macro ‘float2’
  735 | DEFINE_INTRINSIC(sqrt, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:735:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  735 | DEFINE_INTRINSIC(sqrt, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:736:27: note: in expansion of macro ‘float3’
  736 | DEFINE_INTRINSIC(sqrt, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:736:35: note: in expansion of macro ‘float3’
  736 | DEFINE_INTRINSIC(sqrt, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:736:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  736 | DEFINE_INTRINSIC(sqrt, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:737:27: note: in expansion of macro ‘float4’
  737 | DEFINE_INTRINSIC(sqrt, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:737:35: note: in expansion of macro ‘float4’
  737 | DEFINE_INTRINSIC(sqrt, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:737:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  737 | DEFINE_INTRINSIC(sqrt, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:753:28: note: in expansion of macro ‘float’
  753 | DEFINE_INTRINSIC(rsqrt, 0, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:753:35: note: in expansion of macro ‘float’
  753 | DEFINE_INTRINSIC(rsqrt, 0, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:753:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  753 | DEFINE_INTRINSIC(rsqrt, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:754:28: note: in expansion of macro ‘float2’
  754 | DEFINE_INTRINSIC(rsqrt, 0, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:754:36: note: in expansion of macro ‘float2’
  754 | DEFINE_INTRINSIC(rsqrt, 0, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:754:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  754 | DEFINE_INTRINSIC(rsqrt, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:755:28: note: in expansion of macro ‘float3’
  755 | DEFINE_INTRINSIC(rsqrt, 0, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:755:36: note: in expansion of macro ‘float3’
  755 | DEFINE_INTRINSIC(rsqrt, 0, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:755:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  755 | DEFINE_INTRINSIC(rsqrt, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:756:28: note: in expansion of macro ‘float4’
  756 | DEFINE_INTRINSIC(rsqrt, 0, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:756:36: note: in expansion of macro ‘float4’
  756 | DEFINE_INTRINSIC(rsqrt, 0, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:756:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  756 | DEFINE_INTRINSIC(rsqrt, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:772:27: note: in expansion of macro ‘float’
  772 | DEFINE_INTRINSIC(lerp, 0, float, float, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:772:34: note: in expansion of macro ‘float’
  772 | DEFINE_INTRINSIC(lerp, 0, float, float, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:772:41: note: in expansion of macro ‘float’
  772 | DEFINE_INTRINSIC(lerp, 0, float, float, float, float)
      |                                         ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:772:48: note: in expansion of macro ‘float’
  772 | DEFINE_INTRINSIC(lerp, 0, float, float, float, float)
      |                                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:772:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  772 | DEFINE_INTRINSIC(lerp, 0, float, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:773:27: note: in expansion of macro ‘float2’
  773 | DEFINE_INTRINSIC(lerp, 0, float2, float2, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:773:35: note: in expansion of macro ‘float2’
  773 | DEFINE_INTRINSIC(lerp, 0, float2, float2, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:773:43: note: in expansion of macro ‘float2’
  773 | DEFINE_INTRINSIC(lerp, 0, float2, float2, float2, float2)
      |                                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:773:51: note: in expansion of macro ‘float2’
  773 | DEFINE_INTRINSIC(lerp, 0, float2, float2, float2, float2)
      |                                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:773:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  773 | DEFINE_INTRINSIC(lerp, 0, float2, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:774:27: note: in expansion of macro ‘float3’
  774 | DEFINE_INTRINSIC(lerp, 0, float3, float3, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:774:35: note: in expansion of macro ‘float3’
  774 | DEFINE_INTRINSIC(lerp, 0, float3, float3, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:774:43: note: in expansion of macro ‘float3’
  774 | DEFINE_INTRINSIC(lerp, 0, float3, float3, float3, float3)
      |                                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:774:51: note: in expansion of macro ‘float3’
  774 | DEFINE_INTRINSIC(lerp, 0, float3, float3, float3, float3)
      |                                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:774:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  774 | DEFINE_INTRINSIC(lerp, 0, float3, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:775:27: note: in expansion of macro ‘float4’
  775 | DEFINE_INTRINSIC(lerp, 0, float4, float4, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:775:35: note: in expansion of macro ‘float4’
  775 | DEFINE_INTRINSIC(lerp, 0, float4, float4, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:775:43: note: in expansion of macro ‘float4’
  775 | DEFINE_INTRINSIC(lerp, 0, float4, float4, float4, float4)
      |                                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:775:51: note: in expansion of macro ‘float4’
  775 | DEFINE_INTRINSIC(lerp, 0, float4, float4, float4, float4)
      |                                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:775:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  775 | DEFINE_INTRINSIC(lerp, 0, float4, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:793:27: note: in expansion of macro ‘float’
  793 | DEFINE_INTRINSIC(step, 0, float, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:793:34: note: in expansion of macro ‘float’
  793 | DEFINE_INTRINSIC(step, 0, float, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:793:41: note: in expansion of macro ‘float’
  793 | DEFINE_INTRINSIC(step, 0, float, float, float)
      |                                         ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:793:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  793 | DEFINE_INTRINSIC(step, 0, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:794:27: note: in expansion of macro ‘float2’
  794 | DEFINE_INTRINSIC(step, 0, float2, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:794:35: note: in expansion of macro ‘float2’
  794 | DEFINE_INTRINSIC(step, 0, float2, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:794:43: note: in expansion of macro ‘float2’
  794 | DEFINE_INTRINSIC(step, 0, float2, float2, float2)
      |                                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:794:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  794 | DEFINE_INTRINSIC(step, 0, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:795:27: note: in expansion of macro ‘float3’
  795 | DEFINE_INTRINSIC(step, 0, float3, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:795:35: note: in expansion of macro ‘float3’
  795 | DEFINE_INTRINSIC(step, 0, float3, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:795:43: note: in expansion of macro ‘float3’
  795 | DEFINE_INTRINSIC(step, 0, float3, float3, float3)
      |                                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:795:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  795 | DEFINE_INTRINSIC(step, 0, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:796:27: note: in expansion of macro ‘float4’
  796 | DEFINE_INTRINSIC(step, 0, float4, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:796:35: note: in expansion of macro ‘float4’
  796 | DEFINE_INTRINSIC(step, 0, float4, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:796:43: note: in expansion of macro ‘float4’
  796 | DEFINE_INTRINSIC(step, 0, float4, float4, float4)
      |                                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:796:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  796 | DEFINE_INTRINSIC(step, 0, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:813:33: note: in expansion of macro ‘float’
  813 | DEFINE_INTRINSIC(smoothstep, 0, float, float, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:813:40: note: in expansion of macro ‘float’
  813 | DEFINE_INTRINSIC(smoothstep, 0, float, float, float, float)
      |                                        ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:813:47: note: in expansion of macro ‘float’
  813 | DEFINE_INTRINSIC(smoothstep, 0, float, float, float, float)
      |                                               ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:813:54: note: in expansion of macro ‘float’
  813 | DEFINE_INTRINSIC(smoothstep, 0, float, float, float, float)
      |                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [11], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:813:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  813 | DEFINE_INTRINSIC(smoothstep, 0, float, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:814:33: note: in expansion of macro ‘float2’
  814 | DEFINE_INTRINSIC(smoothstep, 0, float2, float2, float2, float2)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:814:41: note: in expansion of macro ‘float2’
  814 | DEFINE_INTRINSIC(smoothstep, 0, float2, float2, float2, float2)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:814:49: note: in expansion of macro ‘float2’
  814 | DEFINE_INTRINSIC(smoothstep, 0, float2, float2, float2, float2)
      |                                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:814:57: note: in expansion of macro ‘float2’
  814 | DEFINE_INTRINSIC(smoothstep, 0, float2, float2, float2, float2)
      |                                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [11], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:814:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  814 | DEFINE_INTRINSIC(smoothstep, 0, float2, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:815:33: note: in expansion of macro ‘float3’
  815 | DEFINE_INTRINSIC(smoothstep, 0, float3, float3, float3, float3)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:815:41: note: in expansion of macro ‘float3’
  815 | DEFINE_INTRINSIC(smoothstep, 0, float3, float3, float3, float3)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:815:49: note: in expansion of macro ‘float3’
  815 | DEFINE_INTRINSIC(smoothstep, 0, float3, float3, float3, float3)
      |                                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:815:57: note: in expansion of macro ‘float3’
  815 | DEFINE_INTRINSIC(smoothstep, 0, float3, float3, float3, float3)
      |                                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [11], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:815:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  815 | DEFINE_INTRINSIC(smoothstep, 0, float3, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:816:33: note: in expansion of macro ‘float4’
  816 | DEFINE_INTRINSIC(smoothstep, 0, float4, float4, float4, float4)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:816:41: note: in expansion of macro ‘float4’
  816 | DEFINE_INTRINSIC(smoothstep, 0, float4, float4, float4, float4)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:816:49: note: in expansion of macro ‘float4’
  816 | DEFINE_INTRINSIC(smoothstep, 0, float4, float4, float4, float4)
      |                                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:816:57: note: in expansion of macro ‘float4’
  816 | DEFINE_INTRINSIC(smoothstep, 0, float4, float4, float4, float4)
      |                                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [11], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:816:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  816 | DEFINE_INTRINSIC(smoothstep, 0, float4, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:834:27: note: in expansion of macro ‘float’
  834 | DEFINE_INTRINSIC(frac, 0, float, float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:834:34: note: in expansion of macro ‘float’
  834 | DEFINE_INTRINSIC(frac, 0, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:834:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  834 | DEFINE_INTRINSIC(frac, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:835:27: note: in expansion of macro ‘float2’
  835 | DEFINE_INTRINSIC(frac, 0, float2, float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:835:35: note: in expansion of macro ‘float2’
  835 | DEFINE_INTRINSIC(frac, 0, float2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:835:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  835 | DEFINE_INTRINSIC(frac, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:836:27: note: in expansion of macro ‘float3’
  836 | DEFINE_INTRINSIC(frac, 0, float3, float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:836:35: note: in expansion of macro ‘float3’
  836 | DEFINE_INTRINSIC(frac, 0, float3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:836:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  836 | DEFINE_INTRINSIC(frac, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:837:27: note: in expansion of macro ‘float4’
  837 | DEFINE_INTRINSIC(frac, 0, float4, float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:837:35: note: in expansion of macro ‘float4’
  837 | DEFINE_INTRINSIC(frac, 0, float4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:837:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  837 | DEFINE_INTRINSIC(frac, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:853:28: note: in expansion of macro ‘float’
  853 | DEFINE_INTRINSIC(ldexp, 0, float, float, int)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:853:35: note: in expansion of macro ‘float’
  853 | DEFINE_INTRINSIC(ldexp, 0, float, float, int)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:853:42: note: in expansion of macro ‘int’
  853 | DEFINE_INTRINSIC(ldexp, 0, float, float, int)
      |                                          ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:853:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  853 | DEFINE_INTRINSIC(ldexp, 0, float, float, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:854:28: note: in expansion of macro ‘float2’
  854 | DEFINE_INTRINSIC(ldexp, 0, float2, float2, int2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:854:36: note: in expansion of macro ‘float2’
  854 | DEFINE_INTRINSIC(ldexp, 0, float2, float2, int2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:854:44: note: in expansion of macro ‘int2’
  854 | DEFINE_INTRINSIC(ldexp, 0, float2, float2, int2)
      |                                            ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:854:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  854 | DEFINE_INTRINSIC(ldexp, 0, float2, float2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:855:28: note: in expansion of macro ‘float3’
  855 | DEFINE_INTRINSIC(ldexp, 0, float3, float3, int3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:855:36: note: in expansion of macro ‘float3’
  855 | DEFINE_INTRINSIC(ldexp, 0, float3, float3, int3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:855:44: note: in expansion of macro ‘int3’
  855 | DEFINE_INTRINSIC(ldexp, 0, float3, float3, int3)
      |                                            ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:855:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  855 | DEFINE_INTRINSIC(ldexp, 0, float3, float3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:856:28: note: in expansion of macro ‘float4’
  856 | DEFINE_INTRINSIC(ldexp, 0, float4, float4, int4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:856:36: note: in expansion of macro ‘float4’
  856 | DEFINE_INTRINSIC(ldexp, 0, float4, float4, int4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:856:44: note: in expansion of macro ‘int4’
  856 | DEFINE_INTRINSIC(ldexp, 0, float4, float4, int4)
      |                                            ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:856:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  856 | DEFINE_INTRINSIC(ldexp, 0, float4, float4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:873:27: note: in expansion of macro ‘float’
  873 | DEFINE_INTRINSIC(modf, 0, float, float, out_float)
      |                           ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:873:34: note: in expansion of macro ‘float’
  873 | DEFINE_INTRINSIC(modf, 0, float, float, out_float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:55:38: error: ‘t_float’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                      ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:873:41: note: in expansion of macro ‘out_float’
  873 | DEFINE_INTRINSIC(modf, 0, float, float, out_float)
      |                                         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:55:70: error: ‘q_out’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:873:41: note: in expansion of macro ‘out_float’
  873 | DEFINE_INTRINSIC(modf, 0, float, float, out_float)
      |                                         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:873:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  873 | DEFINE_INTRINSIC(modf, 0, float, float, out_float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:874:27: note: in expansion of macro ‘float2’
  874 | DEFINE_INTRINSIC(modf, 0, float2, float2, out_float2)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:874:35: note: in expansion of macro ‘float2’
  874 | DEFINE_INTRINSIC(modf, 0, float2, float2, out_float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:56:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:874:43: note: in expansion of macro ‘out_float2’
  874 | DEFINE_INTRINSIC(modf, 0, float2, float2, out_float2)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:56:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:874:43: note: in expansion of macro ‘out_float2’
  874 | DEFINE_INTRINSIC(modf, 0, float2, float2, out_float2)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:874:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  874 | DEFINE_INTRINSIC(modf, 0, float2, float2, out_float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:875:27: note: in expansion of macro ‘float3’
  875 | DEFINE_INTRINSIC(modf, 0, float3, float3, out_float3)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:875:35: note: in expansion of macro ‘float3’
  875 | DEFINE_INTRINSIC(modf, 0, float3, float3, out_float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:57:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:875:43: note: in expansion of macro ‘out_float3’
  875 | DEFINE_INTRINSIC(modf, 0, float3, float3, out_float3)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:57:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:875:43: note: in expansion of macro ‘out_float3’
  875 | DEFINE_INTRINSIC(modf, 0, float3, float3, out_float3)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:875:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  875 | DEFINE_INTRINSIC(modf, 0, float3, float3, out_float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:876:27: note: in expansion of macro ‘float4’
  876 | DEFINE_INTRINSIC(modf, 0, float4, float4, out_float4)
      |                           ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:876:35: note: in expansion of macro ‘float4’
  876 | DEFINE_INTRINSIC(modf, 0, float4, float4, out_float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:58:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:876:43: note: in expansion of macro ‘out_float4’
  876 | DEFINE_INTRINSIC(modf, 0, float4, float4, out_float4)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:58:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:876:43: note: in expansion of macro ‘out_float4’
  876 | DEFINE_INTRINSIC(modf, 0, float4, float4, out_float4)
      |                                           ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [5], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:876:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  876 | DEFINE_INTRINSIC(modf, 0, float4, float4, out_float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:893:28: note: in expansion of macro ‘float’
  893 | DEFINE_INTRINSIC(frexp, 0, float, float, out_float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:893:35: note: in expansion of macro ‘float’
  893 | DEFINE_INTRINSIC(frexp, 0, float, float, out_float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:55:38: error: ‘t_float’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                      ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:893:42: note: in expansion of macro ‘out_float’
  893 | DEFINE_INTRINSIC(frexp, 0, float, float, out_float)
      |                                          ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:55:70: error: ‘q_out’ is not a member of ‘reshadefx::type’
   55 | #define out_float { reshadefx::type::t_float, 1, 1, reshadefx::type::q_out }
      |                                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:893:42: note: in expansion of macro ‘out_float’
  893 | DEFINE_INTRINSIC(frexp, 0, float, float, out_float)
      |                                          ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:893:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  893 | DEFINE_INTRINSIC(frexp, 0, float, float, out_float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:894:28: note: in expansion of macro ‘float2’
  894 | DEFINE_INTRINSIC(frexp, 0, float2, float2, out_float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:894:36: note: in expansion of macro ‘float2’
  894 | DEFINE_INTRINSIC(frexp, 0, float2, float2, out_float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:56:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:894:44: note: in expansion of macro ‘out_float2’
  894 | DEFINE_INTRINSIC(frexp, 0, float2, float2, out_float2)
      |                                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:56:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   56 | #define out_float2 { reshadefx::type::t_float, 2, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:894:44: note: in expansion of macro ‘out_float2’
  894 | DEFINE_INTRINSIC(frexp, 0, float2, float2, out_float2)
      |                                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:894:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  894 | DEFINE_INTRINSIC(frexp, 0, float2, float2, out_float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:895:28: note: in expansion of macro ‘float3’
  895 | DEFINE_INTRINSIC(frexp, 0, float3, float3, out_float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:895:36: note: in expansion of macro ‘float3’
  895 | DEFINE_INTRINSIC(frexp, 0, float3, float3, out_float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:57:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:895:44: note: in expansion of macro ‘out_float3’
  895 | DEFINE_INTRINSIC(frexp, 0, float3, float3, out_float3)
      |                                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:57:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   57 | #define out_float3 { reshadefx::type::t_float, 3, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:895:44: note: in expansion of macro ‘out_float3’
  895 | DEFINE_INTRINSIC(frexp, 0, float3, float3, out_float3)
      |                                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:895:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  895 | DEFINE_INTRINSIC(frexp, 0, float3, float3, out_float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:896:28: note: in expansion of macro ‘float4’
  896 | DEFINE_INTRINSIC(frexp, 0, float4, float4, out_float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:896:36: note: in expansion of macro ‘float4’
  896 | DEFINE_INTRINSIC(frexp, 0, float4, float4, out_float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:58:39: error: ‘t_float’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:896:44: note: in expansion of macro ‘out_float4’
  896 | DEFINE_INTRINSIC(frexp, 0, float4, float4, out_float4)
      |                                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:58:71: error: ‘q_out’ is not a member of ‘reshadefx::type’
   58 | #define out_float4 { reshadefx::type::t_float, 4, 1, reshadefx::type::q_out }
      |                                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:896:44: note: in expansion of macro ‘out_float4’
  896 | DEFINE_INTRINSIC(frexp, 0, float4, float4, out_float4)
      |                                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:896:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  896 | DEFINE_INTRINSIC(frexp, 0, float4, float4, out_float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:913:28: note: in expansion of macro ‘float’
  913 | DEFINE_INTRINSIC(trunc, 0, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:913:35: note: in expansion of macro ‘float’
  913 | DEFINE_INTRINSIC(trunc, 0, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:913:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  913 | DEFINE_INTRINSIC(trunc, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:914:28: note: in expansion of macro ‘float2’
  914 | DEFINE_INTRINSIC(trunc, 0, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:914:36: note: in expansion of macro ‘float2’
  914 | DEFINE_INTRINSIC(trunc, 0, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:914:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  914 | DEFINE_INTRINSIC(trunc, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:915:28: note: in expansion of macro ‘float3’
  915 | DEFINE_INTRINSIC(trunc, 0, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:915:36: note: in expansion of macro ‘float3’
  915 | DEFINE_INTRINSIC(trunc, 0, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:915:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  915 | DEFINE_INTRINSIC(trunc, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:916:28: note: in expansion of macro ‘float4’
  916 | DEFINE_INTRINSIC(trunc, 0, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:916:36: note: in expansion of macro ‘float4’
  916 | DEFINE_INTRINSIC(trunc, 0, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:916:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  916 | DEFINE_INTRINSIC(trunc, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:932:28: note: in expansion of macro ‘float’
  932 | DEFINE_INTRINSIC(round, 0, float, float)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:932:35: note: in expansion of macro ‘float’
  932 | DEFINE_INTRINSIC(round, 0, float, float)
      |                                   ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:932:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  932 | DEFINE_INTRINSIC(round, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:933:28: note: in expansion of macro ‘float2’
  933 | DEFINE_INTRINSIC(round, 0, float2, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:933:36: note: in expansion of macro ‘float2’
  933 | DEFINE_INTRINSIC(round, 0, float2, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:933:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  933 | DEFINE_INTRINSIC(round, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:934:28: note: in expansion of macro ‘float3’
  934 | DEFINE_INTRINSIC(round, 0, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:934:36: note: in expansion of macro ‘float3’
  934 | DEFINE_INTRINSIC(round, 0, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:934:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  934 | DEFINE_INTRINSIC(round, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:935:28: note: in expansion of macro ‘float4’
  935 | DEFINE_INTRINSIC(round, 0, float4, float4)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:935:36: note: in expansion of macro ‘float4’
  935 | DEFINE_INTRINSIC(round, 0, float4, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:935:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  935 | DEFINE_INTRINSIC(round, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:951:26: note: in expansion of macro ‘int’
  951 | DEFINE_INTRINSIC(min, 0, int, int, int)
      |                          ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:951:31: note: in expansion of macro ‘int’
  951 | DEFINE_INTRINSIC(min, 0, int, int, int)
      |                               ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:951:36: note: in expansion of macro ‘int’
  951 | DEFINE_INTRINSIC(min, 0, int, int, int)
      |                                    ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:951:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  951 | DEFINE_INTRINSIC(min, 0, int, int, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:952:26: note: in expansion of macro ‘int2’
  952 | DEFINE_INTRINSIC(min, 0, int2, int2, int2)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:952:32: note: in expansion of macro ‘int2’
  952 | DEFINE_INTRINSIC(min, 0, int2, int2, int2)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:952:38: note: in expansion of macro ‘int2’
  952 | DEFINE_INTRINSIC(min, 0, int2, int2, int2)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:952:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  952 | DEFINE_INTRINSIC(min, 0, int2, int2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:953:26: note: in expansion of macro ‘int3’
  953 | DEFINE_INTRINSIC(min, 0, int3, int3, int3)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:953:32: note: in expansion of macro ‘int3’
  953 | DEFINE_INTRINSIC(min, 0, int3, int3, int3)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:953:38: note: in expansion of macro ‘int3’
  953 | DEFINE_INTRINSIC(min, 0, int3, int3, int3)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:953:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  953 | DEFINE_INTRINSIC(min, 0, int3, int3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:954:26: note: in expansion of macro ‘int4’
  954 | DEFINE_INTRINSIC(min, 0, int4, int4, int4)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:954:32: note: in expansion of macro ‘int4’
  954 | DEFINE_INTRINSIC(min, 0, int4, int4, int4)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:954:38: note: in expansion of macro ‘int4’
  954 | DEFINE_INTRINSIC(min, 0, int4, int4, int4)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:954:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  954 | DEFINE_INTRINSIC(min, 0, int4, int4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:955:26: note: in expansion of macro ‘float’
  955 | DEFINE_INTRINSIC(min, 1, float, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:955:33: note: in expansion of macro ‘float’
  955 | DEFINE_INTRINSIC(min, 1, float, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:955:40: note: in expansion of macro ‘float’
  955 | DEFINE_INTRINSIC(min, 1, float, float, float)
      |                                        ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:955:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  955 | DEFINE_INTRINSIC(min, 1, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:956:26: note: in expansion of macro ‘float2’
  956 | DEFINE_INTRINSIC(min, 1, float2, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:956:34: note: in expansion of macro ‘float2’
  956 | DEFINE_INTRINSIC(min, 1, float2, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:956:42: note: in expansion of macro ‘float2’
  956 | DEFINE_INTRINSIC(min, 1, float2, float2, float2)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:956:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  956 | DEFINE_INTRINSIC(min, 1, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:957:26: note: in expansion of macro ‘float3’
  957 | DEFINE_INTRINSIC(min, 1, float3, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:957:34: note: in expansion of macro ‘float3’
  957 | DEFINE_INTRINSIC(min, 1, float3, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:957:42: note: in expansion of macro ‘float3’
  957 | DEFINE_INTRINSIC(min, 1, float3, float3, float3)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:957:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  957 | DEFINE_INTRINSIC(min, 1, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:958:26: note: in expansion of macro ‘float4’
  958 | DEFINE_INTRINSIC(min, 1, float4, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:958:34: note: in expansion of macro ‘float4’
  958 | DEFINE_INTRINSIC(min, 1, float4, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:958:42: note: in expansion of macro ‘float4’
  958 | DEFINE_INTRINSIC(min, 1, float4, float4, float4)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:958:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  958 | DEFINE_INTRINSIC(min, 1, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:989:26: note: in expansion of macro ‘int’
  989 | DEFINE_INTRINSIC(max, 0, int, int, int)
      |                          ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:989:31: note: in expansion of macro ‘int’
  989 | DEFINE_INTRINSIC(max, 0, int, int, int)
      |                               ^~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:989:36: note: in expansion of macro ‘int’
  989 | DEFINE_INTRINSIC(max, 0, int, int, int)
      |                                    ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:989:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  989 | DEFINE_INTRINSIC(max, 0, int, int, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:990:26: note: in expansion of macro ‘int2’
  990 | DEFINE_INTRINSIC(max, 0, int2, int2, int2)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:990:32: note: in expansion of macro ‘int2’
  990 | DEFINE_INTRINSIC(max, 0, int2, int2, int2)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:990:38: note: in expansion of macro ‘int2’
  990 | DEFINE_INTRINSIC(max, 0, int2, int2, int2)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:990:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  990 | DEFINE_INTRINSIC(max, 0, int2, int2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:991:26: note: in expansion of macro ‘int3’
  991 | DEFINE_INTRINSIC(max, 0, int3, int3, int3)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:991:32: note: in expansion of macro ‘int3’
  991 | DEFINE_INTRINSIC(max, 0, int3, int3, int3)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:42:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   42 | #define int3 { reshadefx::type::t_int, 3, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:991:38: note: in expansion of macro ‘int3’
  991 | DEFINE_INTRINSIC(max, 0, int3, int3, int3)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:991:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  991 | DEFINE_INTRINSIC(max, 0, int3, int3, int3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:992:26: note: in expansion of macro ‘int4’
  992 | DEFINE_INTRINSIC(max, 0, int4, int4, int4)
      |                          ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:992:32: note: in expansion of macro ‘int4’
  992 | DEFINE_INTRINSIC(max, 0, int4, int4, int4)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:992:38: note: in expansion of macro ‘int4’
  992 | DEFINE_INTRINSIC(max, 0, int4, int4, int4)
      |                                      ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:992:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  992 | DEFINE_INTRINSIC(max, 0, int4, int4, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:993:26: note: in expansion of macro ‘float’
  993 | DEFINE_INTRINSIC(max, 1, float, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:993:33: note: in expansion of macro ‘float’
  993 | DEFINE_INTRINSIC(max, 1, float, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:993:40: note: in expansion of macro ‘float’
  993 | DEFINE_INTRINSIC(max, 1, float, float, float)
      |                                        ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:993:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  993 | DEFINE_INTRINSIC(max, 1, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:994:26: note: in expansion of macro ‘float2’
  994 | DEFINE_INTRINSIC(max, 1, float2, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:994:34: note: in expansion of macro ‘float2’
  994 | DEFINE_INTRINSIC(max, 1, float2, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:994:42: note: in expansion of macro ‘float2’
  994 | DEFINE_INTRINSIC(max, 1, float2, float2, float2)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:994:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  994 | DEFINE_INTRINSIC(max, 1, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:995:26: note: in expansion of macro ‘float3’
  995 | DEFINE_INTRINSIC(max, 1, float3, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:995:34: note: in expansion of macro ‘float3’
  995 | DEFINE_INTRINSIC(max, 1, float3, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:995:42: note: in expansion of macro ‘float3’
  995 | DEFINE_INTRINSIC(max, 1, float3, float3, float3)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:995:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  995 | DEFINE_INTRINSIC(max, 1, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:996:26: note: in expansion of macro ‘float4’
  996 | DEFINE_INTRINSIC(max, 1, float4, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:996:34: note: in expansion of macro ‘float4’
  996 | DEFINE_INTRINSIC(max, 1, float4, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:996:42: note: in expansion of macro ‘float4’
  996 | DEFINE_INTRINSIC(max, 1, float4, float4, float4)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:996:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
  996 | DEFINE_INTRINSIC(max, 1, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1027:30: note: in expansion of macro ‘float’
 1027 | DEFINE_INTRINSIC(degrees, 0, float, float)
      |                              ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1027:37: note: in expansion of macro ‘float’
 1027 | DEFINE_INTRINSIC(degrees, 0, float, float)
      |                                     ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1027:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1027 | DEFINE_INTRINSIC(degrees, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1028:30: note: in expansion of macro ‘float2’
 1028 | DEFINE_INTRINSIC(degrees, 0, float2, float2)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1028:38: note: in expansion of macro ‘float2’
 1028 | DEFINE_INTRINSIC(degrees, 0, float2, float2)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1028:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1028 | DEFINE_INTRINSIC(degrees, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1029:30: note: in expansion of macro ‘float3’
 1029 | DEFINE_INTRINSIC(degrees, 0, float3, float3)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1029:38: note: in expansion of macro ‘float3’
 1029 | DEFINE_INTRINSIC(degrees, 0, float3, float3)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1029:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1029 | DEFINE_INTRINSIC(degrees, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1030:30: note: in expansion of macro ‘float4’
 1030 | DEFINE_INTRINSIC(degrees, 0, float4, float4)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1030:38: note: in expansion of macro ‘float4’
 1030 | DEFINE_INTRINSIC(degrees, 0, float4, float4)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1030:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1030 | DEFINE_INTRINSIC(degrees, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1046:30: note: in expansion of macro ‘float’
 1046 | DEFINE_INTRINSIC(radians, 0, float, float)
      |                              ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1046:37: note: in expansion of macro ‘float’
 1046 | DEFINE_INTRINSIC(radians, 0, float, float)
      |                                     ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1046:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1046 | DEFINE_INTRINSIC(radians, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1047:30: note: in expansion of macro ‘float2’
 1047 | DEFINE_INTRINSIC(radians, 0, float2, float2)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1047:38: note: in expansion of macro ‘float2’
 1047 | DEFINE_INTRINSIC(radians, 0, float2, float2)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1047:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1047 | DEFINE_INTRINSIC(radians, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1048:30: note: in expansion of macro ‘float3’
 1048 | DEFINE_INTRINSIC(radians, 0, float3, float3)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1048:38: note: in expansion of macro ‘float3’
 1048 | DEFINE_INTRINSIC(radians, 0, float3, float3)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1048:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1048 | DEFINE_INTRINSIC(radians, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1049:30: note: in expansion of macro ‘float4’
 1049 | DEFINE_INTRINSIC(radians, 0, float4, float4)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1049:38: note: in expansion of macro ‘float4’
 1049 | DEFINE_INTRINSIC(radians, 0, float4, float4)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1049:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1049 | DEFINE_INTRINSIC(radians, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1065:26: note: in expansion of macro ‘float’
 1065 | DEFINE_INTRINSIC(ddx, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1065:33: note: in expansion of macro ‘float’
 1065 | DEFINE_INTRINSIC(ddx, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1065:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1065 | DEFINE_INTRINSIC(ddx, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1066:26: note: in expansion of macro ‘float2’
 1066 | DEFINE_INTRINSIC(ddx, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1066:34: note: in expansion of macro ‘float2’
 1066 | DEFINE_INTRINSIC(ddx, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1066:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1066 | DEFINE_INTRINSIC(ddx, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1067:26: note: in expansion of macro ‘float3’
 1067 | DEFINE_INTRINSIC(ddx, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1067:34: note: in expansion of macro ‘float3’
 1067 | DEFINE_INTRINSIC(ddx, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1067:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1067 | DEFINE_INTRINSIC(ddx, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1068:26: note: in expansion of macro ‘float4’
 1068 | DEFINE_INTRINSIC(ddx, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1068:34: note: in expansion of macro ‘float4’
 1068 | DEFINE_INTRINSIC(ddx, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1068:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1068 | DEFINE_INTRINSIC(ddx, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1082:26: note: in expansion of macro ‘float’
 1082 | DEFINE_INTRINSIC(ddy, 0, float, float)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1082:33: note: in expansion of macro ‘float’
 1082 | DEFINE_INTRINSIC(ddy, 0, float, float)
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1082:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1082 | DEFINE_INTRINSIC(ddy, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1083:26: note: in expansion of macro ‘float2’
 1083 | DEFINE_INTRINSIC(ddy, 0, float2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1083:34: note: in expansion of macro ‘float2’
 1083 | DEFINE_INTRINSIC(ddy, 0, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1083:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1083 | DEFINE_INTRINSIC(ddy, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1084:26: note: in expansion of macro ‘float3’
 1084 | DEFINE_INTRINSIC(ddy, 0, float3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1084:34: note: in expansion of macro ‘float3’
 1084 | DEFINE_INTRINSIC(ddy, 0, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1084:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1084 | DEFINE_INTRINSIC(ddy, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1085:26: note: in expansion of macro ‘float4’
 1085 | DEFINE_INTRINSIC(ddy, 0, float4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1085:34: note: in expansion of macro ‘float4’
 1085 | DEFINE_INTRINSIC(ddy, 0, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1085:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1085 | DEFINE_INTRINSIC(ddy, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1099:29: note: in expansion of macro ‘float’
 1099 | DEFINE_INTRINSIC(fwidth, 0, float, float)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1099:36: note: in expansion of macro ‘float’
 1099 | DEFINE_INTRINSIC(fwidth, 0, float, float)
      |                                    ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1099:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1099 | DEFINE_INTRINSIC(fwidth, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1100:29: note: in expansion of macro ‘float2’
 1100 | DEFINE_INTRINSIC(fwidth, 0, float2, float2)
      |                             ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1100:37: note: in expansion of macro ‘float2’
 1100 | DEFINE_INTRINSIC(fwidth, 0, float2, float2)
      |                                     ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1100:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1100 | DEFINE_INTRINSIC(fwidth, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1101:29: note: in expansion of macro ‘float3’
 1101 | DEFINE_INTRINSIC(fwidth, 0, float3, float3)
      |                             ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1101:37: note: in expansion of macro ‘float3’
 1101 | DEFINE_INTRINSIC(fwidth, 0, float3, float3)
      |                                     ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1101:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1101 | DEFINE_INTRINSIC(fwidth, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1102:29: note: in expansion of macro ‘float4’
 1102 | DEFINE_INTRINSIC(fwidth, 0, float4, float4)
      |                             ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1102:37: note: in expansion of macro ‘float4’
 1102 | DEFINE_INTRINSIC(fwidth, 0, float4, float4)
      |                                     ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1102:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1102 | DEFINE_INTRINSIC(fwidth, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1116:26: note: in expansion of macro ‘float’
 1116 | DEFINE_INTRINSIC(dot, 0, float, float2, float2)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1116:33: note: in expansion of macro ‘float2’
 1116 | DEFINE_INTRINSIC(dot, 0, float, float2, float2)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1116:41: note: in expansion of macro ‘float2’
 1116 | DEFINE_INTRINSIC(dot, 0, float, float2, float2)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1116:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1116 | DEFINE_INTRINSIC(dot, 0, float, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1117:26: note: in expansion of macro ‘float’
 1117 | DEFINE_INTRINSIC(dot, 0, float, float3, float3)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1117:33: note: in expansion of macro ‘float3’
 1117 | DEFINE_INTRINSIC(dot, 0, float, float3, float3)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1117:41: note: in expansion of macro ‘float3’
 1117 | DEFINE_INTRINSIC(dot, 0, float, float3, float3)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1117:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1117 | DEFINE_INTRINSIC(dot, 0, float, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1118:26: note: in expansion of macro ‘float’
 1118 | DEFINE_INTRINSIC(dot, 0, float, float4, float4)
      |                          ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1118:33: note: in expansion of macro ‘float4’
 1118 | DEFINE_INTRINSIC(dot, 0, float, float4, float4)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1118:41: note: in expansion of macro ‘float4’
 1118 | DEFINE_INTRINSIC(dot, 0, float, float4, float4)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1118:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1118 | DEFINE_INTRINSIC(dot, 0, float, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1133:28: note: in expansion of macro ‘float3’
 1133 | DEFINE_INTRINSIC(cross, 0, float3, float3, float3)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1133:36: note: in expansion of macro ‘float3’
 1133 | DEFINE_INTRINSIC(cross, 0, float3, float3, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1133:44: note: in expansion of macro ‘float3’
 1133 | DEFINE_INTRINSIC(cross, 0, float3, float3, float3)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1133:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1133 | DEFINE_INTRINSIC(cross, 0, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1150:29: note: in expansion of macro ‘float’
 1150 | DEFINE_INTRINSIC(length, 0, float, float)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1150:36: note: in expansion of macro ‘float’
 1150 | DEFINE_INTRINSIC(length, 0, float, float)
      |                                    ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1150:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1150 | DEFINE_INTRINSIC(length, 0, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1151:29: note: in expansion of macro ‘float’
 1151 | DEFINE_INTRINSIC(length, 0, float, float2)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1151:36: note: in expansion of macro ‘float2’
 1151 | DEFINE_INTRINSIC(length, 0, float, float2)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1151:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1151 | DEFINE_INTRINSIC(length, 0, float, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1152:29: note: in expansion of macro ‘float’
 1152 | DEFINE_INTRINSIC(length, 0, float, float3)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1152:36: note: in expansion of macro ‘float3’
 1152 | DEFINE_INTRINSIC(length, 0, float, float3)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1152:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1152 | DEFINE_INTRINSIC(length, 0, float, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1153:29: note: in expansion of macro ‘float’
 1153 | DEFINE_INTRINSIC(length, 0, float, float4)
      |                             ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1153:36: note: in expansion of macro ‘float4’
 1153 | DEFINE_INTRINSIC(length, 0, float, float4)
      |                                    ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [7], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1153:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1153 | DEFINE_INTRINSIC(length, 0, float, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1169:31: note: in expansion of macro ‘float’
 1169 | DEFINE_INTRINSIC(distance, 0, float, float, float)
      |                               ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1169:38: note: in expansion of macro ‘float’
 1169 | DEFINE_INTRINSIC(distance, 0, float, float, float)
      |                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1169:45: note: in expansion of macro ‘float’
 1169 | DEFINE_INTRINSIC(distance, 0, float, float, float)
      |                                             ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1169:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1169 | DEFINE_INTRINSIC(distance, 0, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1170:31: note: in expansion of macro ‘float’
 1170 | DEFINE_INTRINSIC(distance, 0, float, float2, float2)
      |                               ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1170:38: note: in expansion of macro ‘float2’
 1170 | DEFINE_INTRINSIC(distance, 0, float, float2, float2)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1170:46: note: in expansion of macro ‘float2’
 1170 | DEFINE_INTRINSIC(distance, 0, float, float2, float2)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1170:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1170 | DEFINE_INTRINSIC(distance, 0, float, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1171:31: note: in expansion of macro ‘float’
 1171 | DEFINE_INTRINSIC(distance, 0, float, float3, float3)
      |                               ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1171:38: note: in expansion of macro ‘float3’
 1171 | DEFINE_INTRINSIC(distance, 0, float, float3, float3)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1171:46: note: in expansion of macro ‘float3’
 1171 | DEFINE_INTRINSIC(distance, 0, float, float3, float3)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1171:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1171 | DEFINE_INTRINSIC(distance, 0, float, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1172:31: note: in expansion of macro ‘float’
 1172 | DEFINE_INTRINSIC(distance, 0, float, float4, float4)
      |                               ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1172:38: note: in expansion of macro ‘float4’
 1172 | DEFINE_INTRINSIC(distance, 0, float, float4, float4)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1172:46: note: in expansion of macro ‘float4’
 1172 | DEFINE_INTRINSIC(distance, 0, float, float4, float4)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1172:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1172 | DEFINE_INTRINSIC(distance, 0, float, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1189:32: note: in expansion of macro ‘float2’
 1189 | DEFINE_INTRINSIC(normalize, 0, float2, float2)
      |                                ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1189:40: note: in expansion of macro ‘float2’
 1189 | DEFINE_INTRINSIC(normalize, 0, float2, float2)
      |                                        ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1189:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1189 | DEFINE_INTRINSIC(normalize, 0, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1190:32: note: in expansion of macro ‘float3’
 1190 | DEFINE_INTRINSIC(normalize, 0, float3, float3)
      |                                ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1190:40: note: in expansion of macro ‘float3’
 1190 | DEFINE_INTRINSIC(normalize, 0, float3, float3)
      |                                        ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1190:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1190 | DEFINE_INTRINSIC(normalize, 0, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1191:32: note: in expansion of macro ‘float4’
 1191 | DEFINE_INTRINSIC(normalize, 0, float4, float4)
      |                                ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1191:40: note: in expansion of macro ‘float4’
 1191 | DEFINE_INTRINSIC(normalize, 0, float4, float4)
      |                                        ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1191:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1191 | DEFINE_INTRINSIC(normalize, 0, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1207:32: note: in expansion of macro ‘float2x2’
 1207 | DEFINE_INTRINSIC(transpose, 0, float2x2, float2x2)
      |                                ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1207:42: note: in expansion of macro ‘float2x2’
 1207 | DEFINE_INTRINSIC(transpose, 0, float2x2, float2x2)
      |                                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1207:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1207 | DEFINE_INTRINSIC(transpose, 0, float2x2, float2x2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1208:32: note: in expansion of macro ‘float3x3’
 1208 | DEFINE_INTRINSIC(transpose, 0, float3x3, float3x3)
      |                                ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1208:42: note: in expansion of macro ‘float3x3’
 1208 | DEFINE_INTRINSIC(transpose, 0, float3x3, float3x3)
      |                                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1208:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1208 | DEFINE_INTRINSIC(transpose, 0, float3x3, float3x3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1209:32: note: in expansion of macro ‘float4x4’
 1209 | DEFINE_INTRINSIC(transpose, 0, float4x4, float4x4)
      |                                ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1209:42: note: in expansion of macro ‘float4x4’
 1209 | DEFINE_INTRINSIC(transpose, 0, float4x4, float4x4)
      |                                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1209:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1209 | DEFINE_INTRINSIC(transpose, 0, float4x4, float4x4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1223:34: note: in expansion of macro ‘float’
 1223 | DEFINE_INTRINSIC(determinant, 0, float, float2x2)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1223:41: note: in expansion of macro ‘float2x2’
 1223 | DEFINE_INTRINSIC(determinant, 0, float, float2x2)
      |                                         ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1223:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1223 | DEFINE_INTRINSIC(determinant, 0, float, float2x2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1224:34: note: in expansion of macro ‘float’
 1224 | DEFINE_INTRINSIC(determinant, 0, float, float3x3)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1224:41: note: in expansion of macro ‘float3x3’
 1224 | DEFINE_INTRINSIC(determinant, 0, float, float3x3)
      |                                         ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1224:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1224 | DEFINE_INTRINSIC(determinant, 0, float, float3x3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1225:34: note: in expansion of macro ‘float’
 1225 | DEFINE_INTRINSIC(determinant, 0, float, float4x4)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1225:41: note: in expansion of macro ‘float4x4’
 1225 | DEFINE_INTRINSIC(determinant, 0, float, float4x4)
      |                                         ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1225:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1225 | DEFINE_INTRINSIC(determinant, 0, float, float4x4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1241:30: note: in expansion of macro ‘float2’
 1241 | DEFINE_INTRINSIC(reflect, 0, float2, float2, float2)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1241:38: note: in expansion of macro ‘float2’
 1241 | DEFINE_INTRINSIC(reflect, 0, float2, float2, float2)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1241:46: note: in expansion of macro ‘float2’
 1241 | DEFINE_INTRINSIC(reflect, 0, float2, float2, float2)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1241:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1241 | DEFINE_INTRINSIC(reflect, 0, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1242:30: note: in expansion of macro ‘float3’
 1242 | DEFINE_INTRINSIC(reflect, 0, float3, float3, float3)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1242:38: note: in expansion of macro ‘float3’
 1242 | DEFINE_INTRINSIC(reflect, 0, float3, float3, float3)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1242:46: note: in expansion of macro ‘float3’
 1242 | DEFINE_INTRINSIC(reflect, 0, float3, float3, float3)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1242:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1242 | DEFINE_INTRINSIC(reflect, 0, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1243:30: note: in expansion of macro ‘float4’
 1243 | DEFINE_INTRINSIC(reflect, 0, float4, float4, float4)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1243:38: note: in expansion of macro ‘float4’
 1243 | DEFINE_INTRINSIC(reflect, 0, float4, float4, float4)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1243:46: note: in expansion of macro ‘float4’
 1243 | DEFINE_INTRINSIC(reflect, 0, float4, float4, float4)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1243:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1243 | DEFINE_INTRINSIC(reflect, 0, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1260:30: note: in expansion of macro ‘float2’
 1260 | DEFINE_INTRINSIC(refract, 0, float2, float2, float2, float)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1260:38: note: in expansion of macro ‘float2’
 1260 | DEFINE_INTRINSIC(refract, 0, float2, float2, float2, float)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1260:46: note: in expansion of macro ‘float2’
 1260 | DEFINE_INTRINSIC(refract, 0, float2, float2, float2, float)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1260:54: note: in expansion of macro ‘float’
 1260 | DEFINE_INTRINSIC(refract, 0, float2, float2, float2, float)
      |                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1260:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1260 | DEFINE_INTRINSIC(refract, 0, float2, float2, float2, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1261:30: note: in expansion of macro ‘float3’
 1261 | DEFINE_INTRINSIC(refract, 0, float3, float3, float3, float)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1261:38: note: in expansion of macro ‘float3’
 1261 | DEFINE_INTRINSIC(refract, 0, float3, float3, float3, float)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1261:46: note: in expansion of macro ‘float3’
 1261 | DEFINE_INTRINSIC(refract, 0, float3, float3, float3, float)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1261:54: note: in expansion of macro ‘float’
 1261 | DEFINE_INTRINSIC(refract, 0, float3, float3, float3, float)
      |                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1261:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1261 | DEFINE_INTRINSIC(refract, 0, float3, float3, float3, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1262:30: note: in expansion of macro ‘float4’
 1262 | DEFINE_INTRINSIC(refract, 0, float4, float4, float4, float)
      |                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1262:38: note: in expansion of macro ‘float4’
 1262 | DEFINE_INTRINSIC(refract, 0, float4, float4, float4, float)
      |                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1262:46: note: in expansion of macro ‘float4’
 1262 | DEFINE_INTRINSIC(refract, 0, float4, float4, float4, float)
      |                                              ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1262:54: note: in expansion of macro ‘float’
 1262 | DEFINE_INTRINSIC(refract, 0, float4, float4, float4, float)
      |                                                      ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [8], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1262:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1262 | DEFINE_INTRINSIC(refract, 0, float4, float4, float4, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1280:34: note: in expansion of macro ‘float’
 1280 | DEFINE_INTRINSIC(faceforward, 0, float, float, float, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1280:41: note: in expansion of macro ‘float’
 1280 | DEFINE_INTRINSIC(faceforward, 0, float, float, float, float)
      |                                         ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1280:48: note: in expansion of macro ‘float’
 1280 | DEFINE_INTRINSIC(faceforward, 0, float, float, float, float)
      |                                                ^~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1280:55: note: in expansion of macro ‘float’
 1280 | DEFINE_INTRINSIC(faceforward, 0, float, float, float, float)
      |                                                       ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1280:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1280 | DEFINE_INTRINSIC(faceforward, 0, float, float, float, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1281:34: note: in expansion of macro ‘float2’
 1281 | DEFINE_INTRINSIC(faceforward, 0, float2, float2, float2, float2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1281:42: note: in expansion of macro ‘float2’
 1281 | DEFINE_INTRINSIC(faceforward, 0, float2, float2, float2, float2)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1281:50: note: in expansion of macro ‘float2’
 1281 | DEFINE_INTRINSIC(faceforward, 0, float2, float2, float2, float2)
      |                                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1281:58: note: in expansion of macro ‘float2’
 1281 | DEFINE_INTRINSIC(faceforward, 0, float2, float2, float2, float2)
      |                                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1281:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1281 | DEFINE_INTRINSIC(faceforward, 0, float2, float2, float2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1282:34: note: in expansion of macro ‘float3’
 1282 | DEFINE_INTRINSIC(faceforward, 0, float3, float3, float3, float3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1282:42: note: in expansion of macro ‘float3’
 1282 | DEFINE_INTRINSIC(faceforward, 0, float3, float3, float3, float3)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1282:50: note: in expansion of macro ‘float3’
 1282 | DEFINE_INTRINSIC(faceforward, 0, float3, float3, float3, float3)
      |                                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1282:58: note: in expansion of macro ‘float3’
 1282 | DEFINE_INTRINSIC(faceforward, 0, float3, float3, float3, float3)
      |                                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1282:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1282 | DEFINE_INTRINSIC(faceforward, 0, float3, float3, float3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1283:34: note: in expansion of macro ‘float4’
 1283 | DEFINE_INTRINSIC(faceforward, 0, float4, float4, float4, float4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1283:42: note: in expansion of macro ‘float4’
 1283 | DEFINE_INTRINSIC(faceforward, 0, float4, float4, float4, float4)
      |                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1283:50: note: in expansion of macro ‘float4’
 1283 | DEFINE_INTRINSIC(faceforward, 0, float4, float4, float4, float4)
      |                                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1283:58: note: in expansion of macro ‘float4’
 1283 | DEFINE_INTRINSIC(faceforward, 0, float4, float4, float4, float4)
      |                                                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1283:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1283 | DEFINE_INTRINSIC(faceforward, 0, float4, float4, float4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1301:26: note: in expansion of macro ‘float2’
 1301 | DEFINE_INTRINSIC(mul, 0, float2, float, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1301:34: note: in expansion of macro ‘float’
 1301 | DEFINE_INTRINSIC(mul, 0, float2, float, float2)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1301:41: note: in expansion of macro ‘float2’
 1301 | DEFINE_INTRINSIC(mul, 0, float2, float, float2)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1301:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1301 | DEFINE_INTRINSIC(mul, 0, float2, float, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1302:26: note: in expansion of macro ‘float3’
 1302 | DEFINE_INTRINSIC(mul, 0, float3, float, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1302:34: note: in expansion of macro ‘float’
 1302 | DEFINE_INTRINSIC(mul, 0, float3, float, float3)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1302:41: note: in expansion of macro ‘float3’
 1302 | DEFINE_INTRINSIC(mul, 0, float3, float, float3)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1302:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1302 | DEFINE_INTRINSIC(mul, 0, float3, float, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1303:26: note: in expansion of macro ‘float4’
 1303 | DEFINE_INTRINSIC(mul, 0, float4, float, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1303:34: note: in expansion of macro ‘float’
 1303 | DEFINE_INTRINSIC(mul, 0, float4, float, float4)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1303:41: note: in expansion of macro ‘float4’
 1303 | DEFINE_INTRINSIC(mul, 0, float4, float, float4)
      |                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1303:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1303 | DEFINE_INTRINSIC(mul, 0, float4, float, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1316:26: note: in expansion of macro ‘float2’
 1316 | DEFINE_INTRINSIC(mul, 1, float2, float2, float)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1316:34: note: in expansion of macro ‘float2’
 1316 | DEFINE_INTRINSIC(mul, 1, float2, float2, float)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1316:42: note: in expansion of macro ‘float’
 1316 | DEFINE_INTRINSIC(mul, 1, float2, float2, float)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1316:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1316 | DEFINE_INTRINSIC(mul, 1, float2, float2, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1317:26: note: in expansion of macro ‘float3’
 1317 | DEFINE_INTRINSIC(mul, 1, float3, float3, float)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1317:34: note: in expansion of macro ‘float3’
 1317 | DEFINE_INTRINSIC(mul, 1, float3, float3, float)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1317:42: note: in expansion of macro ‘float’
 1317 | DEFINE_INTRINSIC(mul, 1, float3, float3, float)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1317:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1317 | DEFINE_INTRINSIC(mul, 1, float3, float3, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1318:26: note: in expansion of macro ‘float4’
 1318 | DEFINE_INTRINSIC(mul, 1, float4, float4, float)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1318:34: note: in expansion of macro ‘float4’
 1318 | DEFINE_INTRINSIC(mul, 1, float4, float4, float)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1318:42: note: in expansion of macro ‘float’
 1318 | DEFINE_INTRINSIC(mul, 1, float4, float4, float)
      |                                          ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1318:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1318 | DEFINE_INTRINSIC(mul, 1, float4, float4, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1332:26: note: in expansion of macro ‘float2x2’
 1332 | DEFINE_INTRINSIC(mul, 2, float2x2, float, float2x2)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1332:36: note: in expansion of macro ‘float’
 1332 | DEFINE_INTRINSIC(mul, 2, float2x2, float, float2x2)
      |                                    ^~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1332:43: note: in expansion of macro ‘float2x2’
 1332 | DEFINE_INTRINSIC(mul, 2, float2x2, float, float2x2)
      |                                           ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1332:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1332 | DEFINE_INTRINSIC(mul, 2, float2x2, float, float2x2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1333:26: note: in expansion of macro ‘float3x3’
 1333 | DEFINE_INTRINSIC(mul, 2, float3x3, float, float3x3)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1333:36: note: in expansion of macro ‘float’
 1333 | DEFINE_INTRINSIC(mul, 2, float3x3, float, float3x3)
      |                                    ^~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1333:43: note: in expansion of macro ‘float3x3’
 1333 | DEFINE_INTRINSIC(mul, 2, float3x3, float, float3x3)
      |                                           ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1333:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1333 | DEFINE_INTRINSIC(mul, 2, float3x3, float, float3x3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1334:26: note: in expansion of macro ‘float4x4’
 1334 | DEFINE_INTRINSIC(mul, 2, float4x4, float, float4x4)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1334:36: note: in expansion of macro ‘float’
 1334 | DEFINE_INTRINSIC(mul, 2, float4x4, float, float4x4)
      |                                    ^~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1334:43: note: in expansion of macro ‘float4x4’
 1334 | DEFINE_INTRINSIC(mul, 2, float4x4, float, float4x4)
      |                                           ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1334:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1334 | DEFINE_INTRINSIC(mul, 2, float4x4, float, float4x4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1347:26: note: in expansion of macro ‘float2x2’
 1347 | DEFINE_INTRINSIC(mul, 3, float2x2, float2x2, float)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1347:36: note: in expansion of macro ‘float2x2’
 1347 | DEFINE_INTRINSIC(mul, 3, float2x2, float2x2, float)
      |                                    ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1347:46: note: in expansion of macro ‘float’
 1347 | DEFINE_INTRINSIC(mul, 3, float2x2, float2x2, float)
      |                                              ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1347:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1347 | DEFINE_INTRINSIC(mul, 3, float2x2, float2x2, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1348:26: note: in expansion of macro ‘float3x3’
 1348 | DEFINE_INTRINSIC(mul, 3, float3x3, float3x3, float)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1348:36: note: in expansion of macro ‘float3x3’
 1348 | DEFINE_INTRINSIC(mul, 3, float3x3, float3x3, float)
      |                                    ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1348:46: note: in expansion of macro ‘float’
 1348 | DEFINE_INTRINSIC(mul, 3, float3x3, float3x3, float)
      |                                              ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1348:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1348 | DEFINE_INTRINSIC(mul, 3, float3x3, float3x3, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1349:26: note: in expansion of macro ‘float4x4’
 1349 | DEFINE_INTRINSIC(mul, 3, float4x4, float4x4, float)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1349:36: note: in expansion of macro ‘float4x4’
 1349 | DEFINE_INTRINSIC(mul, 3, float4x4, float4x4, float)
      |                                    ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1349:46: note: in expansion of macro ‘float’
 1349 | DEFINE_INTRINSIC(mul, 3, float4x4, float4x4, float)
      |                                              ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1349:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1349 | DEFINE_INTRINSIC(mul, 3, float4x4, float4x4, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1363:26: note: in expansion of macro ‘float2’
 1363 | DEFINE_INTRINSIC(mul, 4, float2, float2, float2x2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1363:34: note: in expansion of macro ‘float2’
 1363 | DEFINE_INTRINSIC(mul, 4, float2, float2, float2x2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1363:42: note: in expansion of macro ‘float2x2’
 1363 | DEFINE_INTRINSIC(mul, 4, float2, float2, float2x2)
      |                                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1363:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1363 | DEFINE_INTRINSIC(mul, 4, float2, float2, float2x2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1364:26: note: in expansion of macro ‘float3’
 1364 | DEFINE_INTRINSIC(mul, 4, float3, float3, float3x3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1364:34: note: in expansion of macro ‘float3’
 1364 | DEFINE_INTRINSIC(mul, 4, float3, float3, float3x3)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1364:42: note: in expansion of macro ‘float3x3’
 1364 | DEFINE_INTRINSIC(mul, 4, float3, float3, float3x3)
      |                                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1364:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1364 | DEFINE_INTRINSIC(mul, 4, float3, float3, float3x3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1365:26: note: in expansion of macro ‘float4’
 1365 | DEFINE_INTRINSIC(mul, 4, float4, float4, float4x4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1365:34: note: in expansion of macro ‘float4’
 1365 | DEFINE_INTRINSIC(mul, 4, float4, float4, float4x4)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1365:42: note: in expansion of macro ‘float4x4’
 1365 | DEFINE_INTRINSIC(mul, 4, float4, float4, float4x4)
      |                                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1365:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1365 | DEFINE_INTRINSIC(mul, 4, float4, float4, float4x4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1379:26: note: in expansion of macro ‘float2’
 1379 | DEFINE_INTRINSIC(mul, 5, float2, float2x2, float2)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1379:34: note: in expansion of macro ‘float2x2’
 1379 | DEFINE_INTRINSIC(mul, 5, float2, float2x2, float2)
      |                                  ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1379:44: note: in expansion of macro ‘float2’
 1379 | DEFINE_INTRINSIC(mul, 5, float2, float2x2, float2)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1379:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1379 | DEFINE_INTRINSIC(mul, 5, float2, float2x2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1380:26: note: in expansion of macro ‘float3’
 1380 | DEFINE_INTRINSIC(mul, 5, float3, float3x3, float3)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1380:34: note: in expansion of macro ‘float3x3’
 1380 | DEFINE_INTRINSIC(mul, 5, float3, float3x3, float3)
      |                                  ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1380:44: note: in expansion of macro ‘float3’
 1380 | DEFINE_INTRINSIC(mul, 5, float3, float3x3, float3)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1380:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1380 | DEFINE_INTRINSIC(mul, 5, float3, float3x3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1381:26: note: in expansion of macro ‘float4’
 1381 | DEFINE_INTRINSIC(mul, 5, float4, float4x4, float4)
      |                          ^~~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1381:34: note: in expansion of macro ‘float4x4’
 1381 | DEFINE_INTRINSIC(mul, 5, float4, float4x4, float4)
      |                                  ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1381:44: note: in expansion of macro ‘float4’
 1381 | DEFINE_INTRINSIC(mul, 5, float4, float4x4, float4)
      |                                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1381:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1381 | DEFINE_INTRINSIC(mul, 5, float4, float4x4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1395:26: note: in expansion of macro ‘float2x2’
 1395 | DEFINE_INTRINSIC(mul, 6, float2x2, float2x2, float2x2)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1395:36: note: in expansion of macro ‘float2x2’
 1395 | DEFINE_INTRINSIC(mul, 6, float2x2, float2x2, float2x2)
      |                                    ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:52:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 | #define float2x2 { reshadefx::type::t_float, 2, 2 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1395:46: note: in expansion of macro ‘float2x2’
 1395 | DEFINE_INTRINSIC(mul, 6, float2x2, float2x2, float2x2)
      |                                              ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1395:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1395 | DEFINE_INTRINSIC(mul, 6, float2x2, float2x2, float2x2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1396:26: note: in expansion of macro ‘float3x3’
 1396 | DEFINE_INTRINSIC(mul, 6, float3x3, float3x3, float3x3)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1396:36: note: in expansion of macro ‘float3x3’
 1396 | DEFINE_INTRINSIC(mul, 6, float3x3, float3x3, float3x3)
      |                                    ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:53:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   53 | #define float3x3 { reshadefx::type::t_float, 3, 3 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1396:46: note: in expansion of macro ‘float3x3’
 1396 | DEFINE_INTRINSIC(mul, 6, float3x3, float3x3, float3x3)
      |                                              ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1396:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1396 | DEFINE_INTRINSIC(mul, 6, float3x3, float3x3, float3x3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1397:26: note: in expansion of macro ‘float4x4’
 1397 | DEFINE_INTRINSIC(mul, 6, float4x4, float4x4, float4x4)
      |                          ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1397:36: note: in expansion of macro ‘float4x4’
 1397 | DEFINE_INTRINSIC(mul, 6, float4x4, float4x4, float4x4)
      |                                    ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:54:37: error: ‘t_float’ is not a member of ‘reshadefx::type’
   54 | #define float4x4 { reshadefx::type::t_float, 4, 4 }
      |                                     ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1397:46: note: in expansion of macro ‘float4x4’
 1397 | DEFINE_INTRINSIC(mul, 6, float4x4, float4x4, float4x4)
      |                                              ^~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [4], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1397:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1397 | DEFINE_INTRINSIC(mul, 6, float4x4, float4x4, float4x4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1412:28: note: in expansion of macro ‘bool’
 1412 | DEFINE_INTRINSIC(isinf, 0, bool, float)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1412:34: note: in expansion of macro ‘float’
 1412 | DEFINE_INTRINSIC(isinf, 0, bool, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1412:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1412 | DEFINE_INTRINSIC(isinf, 0, bool, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:37:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   37 | #define bool2 { reshadefx::type::t_bool, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1413:28: note: in expansion of macro ‘bool2’
 1413 | DEFINE_INTRINSIC(isinf, 0, bool2, float2)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1413:35: note: in expansion of macro ‘float2’
 1413 | DEFINE_INTRINSIC(isinf, 0, bool2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1413:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1413 | DEFINE_INTRINSIC(isinf, 0, bool2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:38:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   38 | #define bool3 { reshadefx::type::t_bool, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1414:28: note: in expansion of macro ‘bool3’
 1414 | DEFINE_INTRINSIC(isinf, 0, bool3, float3)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1414:35: note: in expansion of macro ‘float3’
 1414 | DEFINE_INTRINSIC(isinf, 0, bool3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1414:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1414 | DEFINE_INTRINSIC(isinf, 0, bool3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:39:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   39 | #define bool4 { reshadefx::type::t_bool, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1415:28: note: in expansion of macro ‘bool4’
 1415 | DEFINE_INTRINSIC(isinf, 0, bool4, float4)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1415:35: note: in expansion of macro ‘float4’
 1415 | DEFINE_INTRINSIC(isinf, 0, bool4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1415:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1415 | DEFINE_INTRINSIC(isinf, 0, bool4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:36:33: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   36 | #define bool { reshadefx::type::t_bool, 1, 1 }
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1429:28: note: in expansion of macro ‘bool’
 1429 | DEFINE_INTRINSIC(isnan, 0, bool, float)
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:48:34: error: ‘t_float’ is not a member of ‘reshadefx::type’
   48 | #define float { reshadefx::type::t_float, 1, 1 }
      |                                  ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1429:34: note: in expansion of macro ‘float’
 1429 | DEFINE_INTRINSIC(isnan, 0, bool, float)
      |                                  ^~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1429:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1429 | DEFINE_INTRINSIC(isnan, 0, bool, float)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:37:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   37 | #define bool2 { reshadefx::type::t_bool, 2, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1430:28: note: in expansion of macro ‘bool2’
 1430 | DEFINE_INTRINSIC(isnan, 0, bool2, float2)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1430:35: note: in expansion of macro ‘float2’
 1430 | DEFINE_INTRINSIC(isnan, 0, bool2, float2)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1430:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1430 | DEFINE_INTRINSIC(isnan, 0, bool2, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:38:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   38 | #define bool3 { reshadefx::type::t_bool, 3, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1431:28: note: in expansion of macro ‘bool3’
 1431 | DEFINE_INTRINSIC(isnan, 0, bool3, float3)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:50:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   50 | #define float3 { reshadefx::type::t_float, 3, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1431:35: note: in expansion of macro ‘float3’
 1431 | DEFINE_INTRINSIC(isnan, 0, bool3, float3)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1431:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1431 | DEFINE_INTRINSIC(isnan, 0, bool3, float3)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:39:34: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   39 | #define bool4 { reshadefx::type::t_bool, 4, 1 }
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1432:28: note: in expansion of macro ‘bool4’
 1432 | DEFINE_INTRINSIC(isnan, 0, bool4, float4)
      |                            ^~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1432:35: note: in expansion of macro ‘float4’
 1432 | DEFINE_INTRINSIC(isnan, 0, bool4, float4)
      |                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1432:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1432 | DEFINE_INTRINSIC(isnan, 0, bool4, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1446:28: note: in expansion of macro ‘float4’
 1446 | DEFINE_INTRINSIC(tex2D, 0, float4, sampler, float2)
      |                            ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1446:36: note: in expansion of macro ‘sampler’
 1446 | DEFINE_INTRINSIC(tex2D, 0, float4, sampler, float2)
      |                                    ^~~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1446:45: note: in expansion of macro ‘float2’
 1446 | DEFINE_INTRINSIC(tex2D, 0, float4, sampler, float2)
      |                                             ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [6], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1446:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1446 | DEFINE_INTRINSIC(tex2D, 0, float4, sampler, float2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1467:34: note: in expansion of macro ‘float4’
 1467 | DEFINE_INTRINSIC(tex2Doffset, 0, float4, sampler, float2, int2)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1467:42: note: in expansion of macro ‘sampler’
 1467 | DEFINE_INTRINSIC(tex2Doffset, 0, float4, sampler, float2, int2)
      |                                          ^~~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1467:51: note: in expansion of macro ‘float2’
 1467 | DEFINE_INTRINSIC(tex2Doffset, 0, float4, sampler, float2, int2)
      |                                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1467:59: note: in expansion of macro ‘int2’
 1467 | DEFINE_INTRINSIC(tex2Doffset, 0, float4, sampler, float2, int2)
      |                                                           ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1467:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1467 | DEFINE_INTRINSIC(tex2Doffset, 0, float4, sampler, float2, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1493:31: note: in expansion of macro ‘float4’
 1493 | DEFINE_INTRINSIC(tex2Dlod, 0, float4, sampler, float4)
      |                               ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1493:39: note: in expansion of macro ‘sampler’
 1493 | DEFINE_INTRINSIC(tex2Dlod, 0, float4, sampler, float4)
      |                                       ^~~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1493:48: note: in expansion of macro ‘float4’
 1493 | DEFINE_INTRINSIC(tex2Dlod, 0, float4, sampler, float4)
      |                                                ^~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [9], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1493:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1493 | DEFINE_INTRINSIC(tex2Dlod, 0, float4, sampler, float4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1525:37: note: in expansion of macro ‘float4’
 1525 | DEFINE_INTRINSIC(tex2Dlodoffset, 0, float4, sampler, float4, int2)
      |                                     ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1525:45: note: in expansion of macro ‘sampler’
 1525 | DEFINE_INTRINSIC(tex2Dlodoffset, 0, float4, sampler, float4, int2)
      |                                             ^~~~~~~
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1525:54: note: in expansion of macro ‘float4’
 1525 | DEFINE_INTRINSIC(tex2Dlodoffset, 0, float4, sampler, float4, int2)
      |                                                      ^~~~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1525:62: note: in expansion of macro ‘int2’
 1525 | DEFINE_INTRINSIC(tex2Dlodoffset, 0, float4, sampler, float4, int2)
      |                                                              ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [15], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1525:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1525 | DEFINE_INTRINSIC(tex2Dlodoffset, 0, float4, sampler, float4, int2)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1564:32: note: in expansion of macro ‘int2’
 1564 | DEFINE_INTRINSIC(tex2Dsize, 0, int2, sampler)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1564:38: note: in expansion of macro ‘sampler’
 1564 | DEFINE_INTRINSIC(tex2Dsize, 0, int2, sampler)
      |                                      ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1564:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1564 | DEFINE_INTRINSIC(tex2Dsize, 0, int2, sampler)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1565:32: note: in expansion of macro ‘int2’
 1565 | DEFINE_INTRINSIC(tex2Dsize, 1, int2, sampler, int)
      |                                ^~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1565:38: note: in expansion of macro ‘sampler’
 1565 | DEFINE_INTRINSIC(tex2Dsize, 1, int2, sampler, int)
      |                                      ^~~~~~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1565:47: note: in expansion of macro ‘int’
 1565 | DEFINE_INTRINSIC(tex2Dsize, 1, int2, sampler, int)
      |                                               ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [10], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1565:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1565 | DEFINE_INTRINSIC(tex2Dsize, 1, int2, sampler, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1610:33: note: in expansion of macro ‘float4’
 1610 | DEFINE_INTRINSIC(tex2Dfetch, 0, float4, sampler, int4)
      |                                 ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1610:41: note: in expansion of macro ‘sampler’
 1610 | DEFINE_INTRINSIC(tex2Dfetch, 0, float4, sampler, int4)
      |                                         ^~~~~~~
../src/reshade/effect_symbol_table.cpp:43:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   43 | #define int4 { reshadefx::type::t_int, 4, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1610:50: note: in expansion of macro ‘int4’
 1610 | DEFINE_INTRINSIC(tex2Dfetch, 0, float4, sampler, int4)
      |                                                  ^~~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [11], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1610:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1610 | DEFINE_INTRINSIC(tex2Dfetch, 0, float4, sampler, int4)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1655:34: note: in expansion of macro ‘float4’
 1655 | DEFINE_INTRINSIC(tex2Dgather, 0, float4, sampler, float2, int)
      |                                  ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1655:42: note: in expansion of macro ‘sampler’
 1655 | DEFINE_INTRINSIC(tex2Dgather, 0, float4, sampler, float2, int)
      |                                          ^~~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1655:51: note: in expansion of macro ‘float2’
 1655 | DEFINE_INTRINSIC(tex2Dgather, 0, float4, sampler, float2, int)
      |                                                   ^~~~~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1655:59: note: in expansion of macro ‘int’
 1655 | DEFINE_INTRINSIC(tex2Dgather, 0, float4, sampler, float2, int)
      |                                                           ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [12], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1655:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1655 | DEFINE_INTRINSIC(tex2Dgather, 0, float4, sampler, float2, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:51:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   51 | #define float4 { reshadefx::type::t_float, 4, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:76: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                            ^~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1692:40: note: in expansion of macro ‘float4’
 1692 | DEFINE_INTRINSIC(tex2Dgatheroffset, 0, float4, sampler, float2, int2, int)
      |                                        ^~~~~~
../src/reshade/effect_symbol_table.cpp:59:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   59 | #define sampler { reshadefx::type::t_sampler }
      |                                    ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1692:48: note: in expansion of macro ‘sampler’
 1692 | DEFINE_INTRINSIC(tex2Dgatheroffset, 0, float4, sampler, float2, int2, int)
      |                                                ^~~~~~~
../src/reshade/effect_symbol_table.cpp:49:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
   49 | #define float2 { reshadefx::type::t_float, 2, 1 }
      |                                   ^~~~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1692:57: note: in expansion of macro ‘float2’
 1692 | DEFINE_INTRINSIC(tex2Dgatheroffset, 0, float4, sampler, float2, int2, int)
      |                                                         ^~~~~~
../src/reshade/effect_symbol_table.cpp:41:33: error: ‘t_int’ is not a member of ‘reshadefx::type’
   41 | #define int2 { reshadefx::type::t_int, 2, 1 }
      |                                 ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1692:65: note: in expansion of macro ‘int2’
 1692 | DEFINE_INTRINSIC(tex2Dgatheroffset, 0, float4, sampler, float2, int2, int)
      |                                                                 ^~~~
../src/reshade/effect_symbol_table.cpp:40:32: error: ‘t_int’ is not a member of ‘reshadefx::type’
   40 | #define int { reshadefx::type::t_int, 1, 1 }
      |                                ^~~~~
../src/reshade/effect_symbol_table.cpp:62:88: note: in definition of macro ‘DEFINE_INTRINSIC’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                        ^~~~~~~~~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1692:71: note: in expansion of macro ‘int’
 1692 | DEFINE_INTRINSIC(tex2Dgatheroffset, 0, float4, sampler, float2, int2, int)
      |                                                                       ^~~
../src/reshade/effect_symbol_table.cpp:62:101: error: no matching function for call to ‘intrinsic::intrinsic(const char [18], <unnamed enum>, <brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   62 | #define DEFINE_INTRINSIC(name, i, ret_type, ...) intrinsic(#name, name##i, ret_type, { __VA_ARGS__ }),
      |                                                                                                     ^
../src/reshade/effect_symbol_table_intrinsics.inl:1692:1: note: in expansion of macro ‘DEFINE_INTRINSIC’
 1692 | DEFINE_INTRINSIC(tex2Dgatheroffset, 0, float4, sampler, float2, int2, int)
      | ^~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:9: note: candidate: ‘intrinsic::intrinsic(const char*, unsigned int, const reshadefx::type&, std::initializer_list<reshadefx::type>)’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |         ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:16:66: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
   16 |         intrinsic(const char *name, unsigned int id, const type &ret_type, std::initializer_list<type> arg_types) : id(id)
      |                                                      ~~~~~~~~~~~~^~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(const intrinsic&)’
   14 | struct intrinsic
      |        ^~~~~~~~~
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp:14:8: note: candidate: ‘constexpr intrinsic::intrinsic(intrinsic&&)’
../src/reshade/effect_symbol_table.cpp:14:8: note:   candidate expects 1 argument, 4 provided
../src/reshade/effect_symbol_table.cpp: In static member function ‘static unsigned int reshadefx::type::rank(const reshadefx::type&, const reshadefx::type&)’:
../src/reshade/effect_symbol_table.cpp:100:28: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  100 |                 return src.definition == dst.definition ? 32 : 0; // Structs are only compatible if they are the same type
      |                            ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:100:46: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  100 |                 return src.definition == dst.definition ? 32 : 0; // Structs are only compatible if they are the same type
      |                                              ^~~~~~~~~~
../src/reshade/effect_symbol_table.cpp:102:28: error: ‘const struct reshadefx::type’ has no member named ‘base’
  102 |                 return src.base == dst.base ? 32 : 0; // Numeric values are not compatible with other types
      |                            ^~~~
../src/reshade/effect_symbol_table.cpp:102:40: error: ‘const struct reshadefx::type’ has no member named ‘base’
  102 |                 return src.base == dst.base ? 32 : 0; // Numeric values are not compatible with other types
      |                                        ^~~~
In file included from /usr/include/c++/13/cassert:44,
                 from ../src/reshade/effect_symbol_table.cpp:7:
../src/reshade/effect_symbol_table.cpp:115:20: error: ‘const struct reshadefx::type’ has no member named ‘base’
  115 |         assert(src.base > 0 && src.base <= 4);
      |                    ^~~~
../src/reshade/effect_symbol_table.cpp:115:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
  115 |         assert(src.base > 0 && src.base <= 4);
      |                                    ^~~~
../src/reshade/effect_symbol_table.cpp:116:20: error: ‘const struct reshadefx::type’ has no member named ‘base’
  116 |         assert(dst.base > 0 && dst.base <= 4);
      |                    ^~~~
../src/reshade/effect_symbol_table.cpp:116:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
  116 |         assert(dst.base > 0 && dst.base <= 4);
      |                                    ^~~~
../src/reshade/effect_symbol_table.cpp:118:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
  118 |         const int rank = ranks[src.base - 1][dst.base - 1] << 2;
      |                                    ^~~~
../src/reshade/effect_symbol_table.cpp:118:50: error: ‘const struct reshadefx::type’ has no member named ‘base’
  118 |         const int rank = ranks[src.base - 1][dst.base - 1] << 2;
      |                                                  ^~~~
../src/reshade/effect_symbol_table.cpp: In member function ‘bool reshadefx::symbol_table::insert_symbol(const std::string&, const reshadefx::symbol&, bool)’:
../src/reshade/effect_symbol_table.cpp:183:23: error: ‘const struct reshadefx::symbol’ has no member named ‘id’
  183 |         assert(symbol.id != 0 || symbol.op == symbol_type::constant);
      |                       ^~
../src/reshade/effect_symbol_table.cpp:186:91: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  186 |         if (symbol.op != symbol_type::function && find_symbol(name, _current_scope, true).id != 0)
      |                                                                                           ^~
../src/reshade/effect_symbol_table.cpp: In member function ‘reshadefx::symbol reshadefx::symbol_table::find_symbol(const std::string&, const reshadefx::scope&, bool) const’:
../src/reshade/effect_symbol_table.cpp:252:33: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  252 |                 else if (result.id == 0)
      |                                 ^~
../src/reshade/effect_symbol_table.cpp: In member function ‘bool reshadefx::symbol_table::resolve_function_call(const std::string&, const std::vector<reshadefx::expression>&, const reshadefx::scope&, reshadefx::symbol&, bool&) const’:
../src/reshade/effect_symbol_table.cpp:334:50: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  334 |                                         out_data.id = it->id;
      |                                                  ^~
../src/reshade/effect_symbol_table.cpp:334:59: error: ‘const struct reshadefx::symbol_table::scoped_symbol’ has no member named ‘id’
  334 |                                         out_data.id = it->id;
      |                                                           ^~
../src/reshade/effect_symbol_table.cpp:355:42: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  355 |                                 out_data.id = it->id;
      |                                          ^~
../src/reshade/effect_symbol_table.cpp:355:51: error: ‘const struct reshadefx::symbol_table::scoped_symbol’ has no member named ‘id’
  355 |                                 out_data.id = it->id;
      |                                                   ^~
../src/reshade/effect_symbol_table.cpp:382:42: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  382 |                                 out_data.id = intrinsic.id;
      |                                          ^~
[9/57] g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_expression.cpp.o -MF src/reshade/libreshade.a.p/effect_expression.cpp.o.d -o src/reshade/libreshade.a.p/effect_expression.cpp.o -c ../src/reshade/effect_expression.cpp
FAILED: src/reshade/libreshade.a.p/effect_expression.cpp.o 
g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_expression.cpp.o -MF src/reshade/libreshade.a.p/effect_expression.cpp.o.d -o src/reshade/libreshade.a.p/effect_expression.cpp.o -c ../src/reshade/effect_expression.cpp
In file included from ../src/reshade/effect_module.hpp:8,
                 from ../src/reshade/effect_codegen.hpp:8,
                 from ../src/reshade/effect_expression.cpp:7:
../src/reshade/effect_expression.hpp:17:22: error: use of enum ‘datatype’ without previous declaration
   17 |                 enum datatype : uint8_t
      |                      ^~~~~~~~
../src/reshade/effect_expression.hpp:17:33: error: ‘uint8_t’ was not declared in this scope
   17 |                 enum datatype : uint8_t
      |                                 ^~~~~~~
../src/reshade/effect_expression.hpp:1:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  +++ |+#include <cstdint>
    1 | /*
../src/reshade/effect_expression.hpp:18:17: error: default member initializer for unnamed bit-field
   18 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:30:22: error: use of enum ‘qualifier’ without previous declaration
   30 |                 enum qualifier : uint32_t
      |                      ^~~~~~~~~
../src/reshade/effect_expression.hpp:30:34: error: ‘uint32_t’ was not declared in this scope
   30 |                 enum qualifier : uint32_t
      |                                  ^~~~~~~~
../src/reshade/effect_expression.hpp:30:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:31:17: error: default member initializer for unnamed bit-field
   31 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:62:26: error: ‘qualifier’ has not been declared
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                          ^~~~~~~~~
../src/reshade/effect_expression.hpp:89:17: error: ‘datatype’ does not name a type
   89 |                 datatype base = t_void; // Underlying base type ('int', 'float', ...)
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: error: ‘uint32_t’ does not name a type
   94 |                 uint32_t definition = 0; // ID of the matching struct if this is a struct type
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::has(int) const’:
../src/reshade/effect_expression.hpp:62:71: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                                                      ~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_signed() const’:
../src/reshade/effect_expression.hpp:67:49: error: ‘base’ was not declared in this scope
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:67:57: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                         ^~~~~
      |                                                         u_int
../src/reshade/effect_expression.hpp:67:74: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                                          ^~~~~~~
      |                                                                          float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_void() const’:
../src/reshade/effect_expression.hpp:69:47: error: ‘base’ was not declared in this scope
   69 |                 bool is_void() const { return base == t_void; }
      |                                               ^~~~
../src/reshade/effect_expression.hpp:69:55: error: ‘t_void’ was not declared in this scope; did you mean ‘is_void’?
   69 |                 bool is_void() const { return base == t_void; }
      |                                                       ^~~~~~
      |                                                       is_void
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_boolean() const’:
../src/reshade/effect_expression.hpp:70:50: error: ‘base’ was not declared in this scope
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:70:58: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                          ^~~~~~
      |                                                          bool
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_integral() const’:
../src/reshade/effect_expression.hpp:71:51: error: ‘base’ was not declared in this scope
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:71:59: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                           ^~~~~~
      |                                                           bool
../src/reshade/effect_expression.hpp:71:77: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                             ^~~~~
      |                                                                             u_int
../src/reshade/effect_expression.hpp:71:94: error: ‘t_uint’ was not declared in this scope; did you mean ‘uint’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                                              ^~~~~~
      |                                                                                              uint
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_floating_point() const’:
../src/reshade/effect_expression.hpp:72:57: error: ‘base’ was not declared in this scope
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                         ^~~~
../src/reshade/effect_expression.hpp:72:65: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                                 ^~~~~~~
      |                                                                 float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_struct() const’:
../src/reshade/effect_expression.hpp:73:49: error: ‘base’ was not declared in this scope
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:73:57: error: ‘t_struct’ was not declared in this scope; did you mean ‘is_struct’?
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                         ^~~~~~~~
      |                                                         is_struct
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_texture() const’:
../src/reshade/effect_expression.hpp:74:50: error: ‘base’ was not declared in this scope
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:74:58: error: ‘t_texture’ was not declared in this scope; did you mean ‘is_texture’?
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                          ^~~~~~~~~
      |                                                          is_texture
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_sampler() const’:
../src/reshade/effect_expression.hpp:75:50: error: ‘base’ was not declared in this scope
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:75:58: error: ‘t_sampler’ was not declared in this scope; did you mean ‘is_sampler’?
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                          ^~~~~~~~~
      |                                                          is_sampler
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_function() const’:
../src/reshade/effect_expression.hpp:76:51: error: ‘base’ was not declared in this scope
   76 |                 bool is_function() const { return base == t_function; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:76:59: error: ‘t_function’ was not declared in this scope; did you mean ‘is_function’?
   76 |                 bool is_function() const { return base == t_function; }
      |                                                           ^~~~~~~~~~
      |                                                           is_function
../src/reshade/effect_expression.hpp: In function ‘bool reshadefx::operator==(const type&, const type&)’:
../src/reshade/effect_expression.hpp:82:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                    ^~~~
../src/reshade/effect_expression.hpp:82:48: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                ^~~~
../src/reshade/effect_expression.hpp:82:148: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                    ^~~~~~~~~~
../src/reshade/effect_expression.hpp:82:166: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                                      ^~~~~~~~~~
../src/reshade/effect_expression.hpp: At global scope:
../src/reshade/effect_expression.hpp:106:25: error: ‘uint32_t’ does not name a type
  106 |                         uint32_t as_uint[16];
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:106:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:133:25: error: ‘uint32_t’ does not name a type
  133 |                         uint32_t index = 0;
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:133:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:137:17: error: ‘uint32_t’ does not name a type
  137 |                 uint32_t base = 0;
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:137:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:151:70: error: ‘uint32_t’ has not been declared
  151 |                 void reset_to_lvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:158:70: error: ‘uint32_t’ has not been declared
  158 |                 void reset_to_rvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:168:79: error: ‘uint32_t’ has not been declared
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                                                                               ^~~~~~~~
../src/reshade/effect_expression.hpp:168:22: error: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int)’ cannot be overloaded with ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: previous declaration ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:187:47: error: ‘uint32_t’ has not been declared
  187 |                 void add_dynamic_index_access(uint32_t index_expression);
      |                                               ^~~~~~~~
../src/reshade/effect_module.hpp:62:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   62 |         enum class pass_blend_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:62:34: error: found ‘:’ in nested-name-specifier, expected ‘::’
   62 |         enum class pass_blend_op : uint8_t
      |                                  ^
      |                                  ::
../src/reshade/effect_module.hpp:62:20: error: ‘pass_blend_op’ has not been declared
   62 |         enum class pass_blend_op : uint8_t
      |                    ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:63:9: error: expected unqualified-id before ‘{’ token
   63 |         {
      |         ^
../src/reshade/effect_module.hpp:74:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   74 |         enum class pass_blend_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:74:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   74 |         enum class pass_blend_func : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:74:20: error: ‘pass_blend_func’ has not been declared
   74 |         enum class pass_blend_func : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:75:9: error: expected unqualified-id before ‘{’ token
   75 |         {
      |         ^
../src/reshade/effect_module.hpp:91:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   91 |         enum class pass_stencil_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:91:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   91 |         enum class pass_stencil_op : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:91:20: error: ‘pass_stencil_op’ has not been declared
   91 |         enum class pass_stencil_op : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:92:9: error: expected unqualified-id before ‘{’ token
   92 |         {
      |         ^
../src/reshade/effect_module.hpp:106:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  106 |         enum class pass_stencil_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:106:38: error: found ‘:’ in nested-name-specifier, expected ‘::’
  106 |         enum class pass_stencil_func : uint8_t
      |                                      ^
      |                                      ::
../src/reshade/effect_module.hpp:106:20: error: ‘pass_stencil_func’ has not been declared
  106 |         enum class pass_stencil_func : uint8_t
      |                    ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:107:9: error: expected unqualified-id before ‘{’ token
  107 |         {
      |         ^
../src/reshade/effect_module.hpp:121:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  121 |         enum class primitive_topology : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:121:39: error: found ‘:’ in nested-name-specifier, expected ‘::’
  121 |         enum class primitive_topology : uint8_t
      |                                       ^
      |                                       ::
../src/reshade/effect_module.hpp:121:20: error: ‘primitive_topology’ has not been declared
  121 |         enum class primitive_topology : uint8_t
      |                    ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:122:9: error: expected unqualified-id before ‘{’ token
  122 |         {
      |         ^
../src/reshade/effect_module.hpp:138:17: error: ‘uint32_t’ does not name a type
  138 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:9:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    8 | #include "effect_expression.hpp"
  +++ |+#include <cstdint>
    9 | 
../src/reshade/effect_module.hpp:150:17: error: ‘uint32_t’ does not name a type
  150 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:150:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:168:17: error: ‘uint32_t’ does not name a type
  168 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:168:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:169:17: error: ‘uint32_t’ does not name a type
  169 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:169:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:173:17: error: ‘uint32_t’ does not name a type
  173 |                 uint32_t width = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:173:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:174:17: error: ‘uint32_t’ does not name a type
  174 |                 uint32_t height = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:174:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:175:17: error: ‘uint32_t’ does not name a type
  175 |                 uint32_t levels = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:175:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:184:17: error: ‘uint32_t’ does not name a type
  184 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:184:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:185:17: error: ‘uint32_t’ does not name a type
  185 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:185:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:186:17: error: ‘uint32_t’ does not name a type
  186 |                 uint32_t texture_binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:186:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:197:17: error: ‘uint8_t’ does not name a type
  197 |                 uint8_t srgb = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:197:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:207:17: error: ‘uint32_t’ does not name a type
  207 |                 uint32_t size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:207:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:208:17: error: ‘uint32_t’ does not name a type
  208 |                 uint32_t offset = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:208:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:228:17: error: ‘uint32_t’ does not name a type
  228 |                 uint32_t definition;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:228:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:244:17: error: ‘uint8_t’ does not name a type
  244 |                 uint8_t clear_render_targets = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:244:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:245:17: error: ‘uint8_t’ does not name a type
  245 |                 uint8_t srgb_write_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:245:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:246:17: error: ‘uint8_t’ does not name a type
  246 |                 uint8_t blend_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:246:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:247:17: error: ‘uint8_t’ does not name a type
  247 |                 uint8_t stencil_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:247:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:248:17: error: ‘uint8_t’ does not name a type
  248 |                 uint8_t color_write_mask = 0xF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:248:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:249:17: error: ‘uint8_t’ does not name a type
  249 |                 uint8_t stencil_read_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:249:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:250:17: error: ‘uint8_t’ does not name a type
  250 |                 uint8_t stencil_write_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:250:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:251:17: error: ‘pass_blend_op’ does not name a type
  251 |                 pass_blend_op blend_op = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:252:17: error: ‘pass_blend_op’ does not name a type
  252 |                 pass_blend_op blend_op_alpha = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:253:17: error: ‘pass_blend_func’ does not name a type
  253 |                 pass_blend_func src_blend = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:254:17: error: ‘pass_blend_func’ does not name a type
  254 |                 pass_blend_func dest_blend = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:255:17: error: ‘pass_blend_func’ does not name a type
  255 |                 pass_blend_func src_blend_alpha = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:256:17: error: ‘pass_blend_func’ does not name a type
  256 |                 pass_blend_func dest_blend_alpha = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:257:17: error: ‘pass_stencil_func’ does not name a type
  257 |                 pass_stencil_func stencil_comparison_func = pass_stencil_func::always;
      |                 ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:258:17: error: ‘uint32_t’ does not name a type
  258 |                 uint32_t stencil_reference_value = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:258:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:259:17: error: ‘pass_stencil_op’ does not name a type
  259 |                 pass_stencil_op stencil_op_pass = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:260:17: error: ‘pass_stencil_op’ does not name a type
  260 |                 pass_stencil_op stencil_op_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:261:17: error: ‘pass_stencil_op’ does not name a type
  261 |                 pass_stencil_op stencil_op_depth_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:262:17: error: ‘uint32_t’ does not name a type
  262 |                 uint32_t num_vertices = 3;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:262:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:263:17: error: ‘primitive_topology’ does not name a type
  263 |                 primitive_topology topology = primitive_topology::triangle_list;
      |                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:264:17: error: ‘uint32_t’ does not name a type
  264 |                 uint32_t viewport_width = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:264:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:265:17: error: ‘uint32_t’ does not name a type
  265 |                 uint32_t viewport_height = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:265:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:29: error: ‘uint32_t’ was not declared in this scope
  284 |                 std::vector<uint32_t> spirv;
      |                             ^~~~~~~~
../src/reshade/effect_module.hpp:284:29: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:37: error: template argument 1 is invalid
  284 |                 std::vector<uint32_t> spirv;
      |                                     ^
../src/reshade/effect_module.hpp:284:37: error: template argument 2 is invalid
../src/reshade/effect_module.hpp:284:22: error: ‘<expression error>’ in namespace ‘std’ does not name a type
  284 |                 std::vector<uint32_t> spirv;
      |                      ^~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:292:17: error: ‘uint32_t’ does not name a type
  292 |                 uint32_t total_uniform_size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:292:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:293:17: error: ‘uint32_t’ does not name a type
  293 |                 uint32_t num_sampler_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:293:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:294:17: error: ‘uint32_t’ does not name a type
  294 |                 uint32_t num_texture_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:294:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.cpp: In static member function ‘static reshadefx::type reshadefx::type::merge(const reshadefx::type&, const reshadefx::type&)’:
../src/reshade/effect_expression.cpp:15:38: error: ‘const struct reshadefx::type’ has no member named ‘base’
   15 |         type result = { std::max(lhs.base, rhs.base) };
      |                                      ^~~~
../src/reshade/effect_expression.cpp:15:48: error: ‘const struct reshadefx::type’ has no member named ‘base’
   15 |         type result = { std::max(lhs.base, rhs.base) };
      |                                                ^~~~
../src/reshade/effect_expression.cpp:30:53: error: ‘q_precise’ is not a member of ‘reshadefx::type’
   30 |         result.qualifiers = (lhs.qualifiers & type::q_precise) | (rhs.qualifiers & type::q_precise);
      |                                                     ^~~~~~~~~
../src/reshade/effect_expression.cpp:30:90: error: ‘q_precise’ is not a member of ‘reshadefx::type’
   30 |         result.qualifiers = (lhs.qualifiers & type::q_precise) | (rhs.qualifiers & type::q_precise);
      |                                                                                          ^~~~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘std::string reshadefx::type::description() const’:
../src/reshade/effect_expression.cpp:38:17: error: ‘base’ was not declared in this scope
   38 |         switch (base)
      |                 ^~~~
../src/reshade/effect_expression.cpp:40:31: error: ‘t_void’ is not a member of ‘reshadefx::type’
   40 |         case reshadefx::type::t_void:
      |                               ^~~~~~
../src/reshade/effect_expression.cpp:43:31: error: ‘t_bool’ is not a member of ‘reshadefx::type’
   43 |         case reshadefx::type::t_bool:
      |                               ^~~~~~
../src/reshade/effect_expression.cpp:46:31: error: ‘t_int’ is not a member of ‘reshadefx::type’
   46 |         case reshadefx::type::t_int:
      |                               ^~~~~
../src/reshade/effect_expression.cpp:49:31: error: ‘t_uint’ is not a member of ‘reshadefx::type’
   49 |         case reshadefx::type::t_uint:
      |                               ^~~~~~
../src/reshade/effect_expression.cpp:52:31: error: ‘t_float’ is not a member of ‘reshadefx::type’
   52 |         case reshadefx::type::t_float:
      |                               ^~~~~~~
../src/reshade/effect_expression.cpp:55:31: error: ‘t_string’ is not a member of ‘reshadefx::type’
   55 |         case reshadefx::type::t_string:
      |                               ^~~~~~~~
../src/reshade/effect_expression.cpp:58:31: error: ‘t_struct’ is not a member of ‘reshadefx::type’
   58 |         case reshadefx::type::t_struct:
      |                               ^~~~~~~~
../src/reshade/effect_expression.cpp:61:31: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
   61 |         case reshadefx::type::t_sampler:
      |                               ^~~~~~~~~
../src/reshade/effect_expression.cpp:64:31: error: ‘t_texture’ is not a member of ‘reshadefx::type’
   64 |         case reshadefx::type::t_texture:
      |                               ^~~~~~~~~
../src/reshade/effect_expression.cpp:67:31: error: ‘t_function’ is not a member of ‘reshadefx::type’
   67 |         case reshadefx::type::t_function:
      |                               ^~~~~~~~~~
../src/reshade/effect_expression.cpp: At global scope:
../src/reshade/effect_expression.cpp:88:6: error: no declaration matches ‘void reshadefx::expression::reset_to_lvalue(const reshadefx::location&, uint32_t, const reshadefx::type&)’
   88 | void reshadefx::expression::reset_to_lvalue(const reshadefx::location &loc, uint32_t in_base, const reshadefx::type &in_type)
      |      ^~~~~~~~~
../src/reshade/effect_expression.hpp:151:22: note: candidate is: ‘void reshadefx::expression::reset_to_lvalue(const reshadefx::location&, int, const reshadefx::type&)’
  151 |                 void reset_to_lvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                      ^~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:118:16: note: ‘struct reshadefx::expression’ defined here
  118 |         struct expression
      |                ^~~~~~~~~~
../src/reshade/effect_expression.cpp:97:6: error: no declaration matches ‘void reshadefx::expression::reset_to_rvalue(const reshadefx::location&, uint32_t, const reshadefx::type&)’
   97 | void reshadefx::expression::reset_to_rvalue(const reshadefx::location &loc, uint32_t in_base, const reshadefx::type &in_type)
      |      ^~~~~~~~~
../src/reshade/effect_expression.hpp:158:22: note: candidate is: ‘void reshadefx::expression::reset_to_rvalue(const reshadefx::location&, int, const reshadefx::type&)’
  158 |                 void reset_to_rvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                      ^~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:118:16: note: ‘struct reshadefx::expression’ defined here
  118 |         struct expression
      |                ^~~~~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, bool)’:
../src/reshade/effect_expression.cpp:110:24: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  110 |         type = { type::t_bool, 1, 1, type::q_const };
      |                        ^~~~~~
../src/reshade/effect_expression.cpp:110:44: error: ‘q_const’ is not a member of ‘reshadefx::type’
  110 |         type = { type::t_bool, 1, 1, type::q_const };
      |                                            ^~~~~~~
../src/reshade/effect_expression.cpp:110:52: error: no match for ‘operator=’ (operand types are ‘reshadefx::type’ and ‘<brace-enclosed initializer list>’)
  110 |         type = { type::t_bool, 1, 1, type::q_const };
      |                                                    ^
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(const reshadefx::type&)’
   15 |         struct type
      |                ^~~~
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(reshadefx::type&&)’
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::type&&’
../src/reshade/effect_expression.cpp:111:9: error: ‘base’ was not declared in this scope
  111 |         base = 0; constant = {}; constant.as_uint[0] = data;
      |         ^~~~
../src/reshade/effect_expression.cpp:111:43: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  111 |         base = 0; constant = {}; constant.as_uint[0] = data;
      |                                           ^~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, float)’:
../src/reshade/effect_expression.cpp:119:24: error: ‘t_float’ is not a member of ‘reshadefx::type’
  119 |         type = { type::t_float, 1, 1, type::q_const };
      |                        ^~~~~~~
../src/reshade/effect_expression.cpp:119:45: error: ‘q_const’ is not a member of ‘reshadefx::type’
  119 |         type = { type::t_float, 1, 1, type::q_const };
      |                                             ^~~~~~~
../src/reshade/effect_expression.cpp:119:53: error: no match for ‘operator=’ (operand types are ‘reshadefx::type’ and ‘<brace-enclosed initializer list>’)
  119 |         type = { type::t_float, 1, 1, type::q_const };
      |                                                     ^
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(const reshadefx::type&)’
   15 |         struct type
      |                ^~~~
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(reshadefx::type&&)’
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::type&&’
../src/reshade/effect_expression.cpp:120:9: error: ‘base’ was not declared in this scope
  120 |         base = 0; constant = {}; constant.as_float[0] = data;
      |         ^~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’:
../src/reshade/effect_expression.cpp:128:24: error: ‘t_int’ is not a member of ‘reshadefx::type’
  128 |         type = { type::t_int,  1, 1, type::q_const };
      |                        ^~~~~
../src/reshade/effect_expression.cpp:128:44: error: ‘q_const’ is not a member of ‘reshadefx::type’
  128 |         type = { type::t_int,  1, 1, type::q_const };
      |                                            ^~~~~~~
../src/reshade/effect_expression.cpp:128:52: error: no match for ‘operator=’ (operand types are ‘reshadefx::type’ and ‘<brace-enclosed initializer list>’)
  128 |         type = { type::t_int,  1, 1, type::q_const };
      |                                                    ^
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(const reshadefx::type&)’
   15 |         struct type
      |                ^~~~
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(reshadefx::type&&)’
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::type&&’
../src/reshade/effect_expression.cpp:129:9: error: ‘base’ was not declared in this scope
  129 |         base = 0; constant = {}; constant.as_int[0] = data;
      |         ^~~~
../src/reshade/effect_expression.cpp: At global scope:
../src/reshade/effect_expression.cpp:135:6: error: no declaration matches ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, uint32_t)’
  135 | void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data)
      |      ^~~~~~~~~
../src/reshade/effect_expression.hpp:170:22: note: candidates are: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, reshadefx::constant, const reshadefx::type&)’
  170 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, reshadefx::constant data, const reshadefx::type &type);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:169:22: note:                 ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, std::string)’
  169 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, std::string data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.cpp:126:6: note:                 ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  126 | void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data)
      |      ^~~~~~~~~
../src/reshade/effect_expression.cpp:117:6: note:                 ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, float)’
  117 | void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location &loc, float data)
      |      ^~~~~~~~~
../src/reshade/effect_expression.cpp:108:6: note:                 ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, bool)’
  108 | void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location &loc, bool data)
      |      ^~~~~~~~~
../src/reshade/effect_expression.hpp:118:16: note: ‘struct reshadefx::expression’ defined here
  118 |         struct expression
      |                ^~~~~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, std::string)’:
../src/reshade/effect_expression.cpp:146:24: error: ‘t_string’ is not a member of ‘reshadefx::type’
  146 |         type = { type::t_string, 0, 0, type::q_const };
      |                        ^~~~~~~~
../src/reshade/effect_expression.cpp:146:46: error: ‘q_const’ is not a member of ‘reshadefx::type’
  146 |         type = { type::t_string, 0, 0, type::q_const };
      |                                              ^~~~~~~
../src/reshade/effect_expression.cpp:146:54: error: no match for ‘operator=’ (operand types are ‘reshadefx::type’ and ‘<brace-enclosed initializer list>’)
  146 |         type = { type::t_string, 0, 0, type::q_const };
      |                                                      ^
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(const reshadefx::type&)’
   15 |         struct type
      |                ^~~~
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(reshadefx::type&&)’
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::type&&’
../src/reshade/effect_expression.cpp:147:9: error: ‘base’ was not declared in this scope
  147 |         base = 0; constant = {}; constant.string_data = std::move(data);
      |         ^~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, reshadefx::constant, const reshadefx::type&)’:
../src/reshade/effect_expression.cpp:156:34: error: ‘q_const’ is not a member of ‘reshadefx::type’
  156 |         type.qualifiers |= type::q_const;
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:157:9: error: ‘base’ was not declared in this scope
  157 |         base = 0; constant = std::move(data);
      |         ^~~~
../src/reshade/effect_expression.cpp: In lambda function:
../src/reshade/effect_expression.cpp:189:50: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  189 |                                         constant.as_uint[i] = constant.as_uint[0];
      |                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:189:72: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  189 |                                         constant.as_uint[i] = constant.as_uint[0];
      |                                                                        ^~~~~~~
../src/reshade/effect_expression.cpp:192:34: error: ‘const struct reshadefx::type’ has no member named ‘base’
  192 |                         if (from.base == to.base || from.is_floating_point() == to.is_floating_point())
      |                                  ^~~~
../src/reshade/effect_expression.cpp:192:45: error: ‘const struct reshadefx::type’ has no member named ‘base’
  192 |                         if (from.base == to.base || from.is_floating_point() == to.is_floating_point())
      |                                             ^~~~
../src/reshade/effect_expression.cpp:197:50: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  197 |                                         constant.as_uint[i] = static_cast<int>(constant.as_float[i]);
      |                                                  ^~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::add_member_access(unsigned int, const reshadefx::type&)’:
../src/reshade/effect_expression.cpp:221:64: warning: narrowing conversion of ‘index’ from ‘unsigned int’ to ‘signed char’ [-Wnarrowing]
  221 |         chain.push_back({ operation::op_member, type, in_type, index });
      |                                                                ^~~~~
../src/reshade/effect_expression.cpp: At global scope:
../src/reshade/effect_expression.cpp:227:6: error: no declaration matches ‘void reshadefx::expression::add_dynamic_index_access(uint32_t)’
  227 | void reshadefx::expression::add_dynamic_index_access(uint32_t index_expression)
      |      ^~~~~~~~~
../src/reshade/effect_expression.hpp:187:22: note: candidate is: ‘void reshadefx::expression::add_dynamic_index_access(int)’
  187 |                 void add_dynamic_index_access(uint32_t index_expression);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:118:16: note: ‘struct reshadefx::expression’ defined here
  118 |         struct expression
      |                ^~~~~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::add_constant_index_access(unsigned int)’:
../src/reshade/effect_expression.cpp:284:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  284 |                                 constant.as_uint[i] = constant.as_uint[index * prev_type.cols + i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:284:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  284 |                                 constant.as_uint[i] = constant.as_uint[index * prev_type.cols + i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:288:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  288 |                         constant.as_uint[0] = constant.as_uint[index];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:288:56: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  288 |                         constant.as_uint[0] = constant.as_uint[index];
      |                                                        ^~~~~~~
../src/reshade/effect_expression.cpp:293:82: warning: narrowing conversion of ‘index’ from ‘unsigned int’ to ‘signed char’ [-Wnarrowing]
  293 |                 chain.push_back({ operation::op_constant_index, prev_type, type, index });
      |                                                                                  ^~~~~
../src/reshade/effect_expression.cpp: In member function ‘void reshadefx::expression::add_swizzle_access(const signed char*, unsigned int)’:
../src/reshade/effect_expression.cpp:310:45: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  310 |                 std::memcpy(data, &constant.as_uint[0], sizeof(data));
      |                                             ^~~~~~~
../src/reshade/effect_expression.cpp:312:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  312 |                         constant.as_uint[i] = data[swizzle[i]];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:313:39: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  313 |                 std::memset(&constant.as_uint[length], 0, sizeof(uint32_t) * (16 - length)); // Clear the rest of the constant
      |                                       ^~~~~~~
../src/reshade/effect_expression.cpp:317:82: warning: narrowing conversion of ‘(uint32_t)((signed char)(* swizzle))’ from ‘uint32_t’ {aka ‘unsigned int’} to ‘signed char’ [-Wnarrowing]
  317 |                 chain.push_back({ operation::op_constant_index, prev_type, type, static_cast<uint32_t>(swizzle[0]) });
      |                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.cpp:321:32: error: no matching function for call to ‘std::vector<reshadefx::expression::operation>::push_back(<brace-enclosed initializer list>)’
  321 |                 chain.push_back({ operation::op_swizzle, prev_type, type, 0, { swizzle[0], swizzle[1], swizzle[2], swizzle[3] } });
      |                 ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:66,
                 from ../src/reshade/effect_token.hpp:9,
                 from ../src/reshade/effect_lexer.hpp:8,
                 from ../src/reshade/effect_expression.cpp:6:
/usr/include/c++/13/bits/stl_vector.h:1278:7: note: candidate: ‘constexpr void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = reshadefx::expression::operation; _Alloc = std::allocator<reshadefx::expression::operation>; value_type = reshadefx::expression::operation]’
 1278 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1278:35: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const std::vector<reshadefx::expression::operation>::value_type&’ {aka ‘const reshadefx::expression::operation&’}
 1278 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1295:7: note: candidate: ‘constexpr void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = reshadefx::expression::operation; _Alloc = std::allocator<reshadefx::expression::operation>; value_type = reshadefx::expression::operation]’
 1295 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1295:30: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::vector<reshadefx::expression::operation>::value_type&&’ {aka ‘reshadefx::expression::operation&&’}
 1295 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
../src/reshade/effect_expression.cpp: In member function ‘bool reshadefx::expression::evaluate_constant_expression(reshadefx::tokenid)’:
../src/reshade/effect_expression.cpp:334:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  334 |                         constant.as_uint[i] = !constant.as_uint[i];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:334:57: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  334 |                         constant.as_uint[i] = !constant.as_uint[i];
      |                                                         ^~~~~~~
../src/reshade/effect_expression.cpp:346:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  346 |                         constant.as_uint[i] = ~constant.as_uint[i];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:346:57: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  346 |                         constant.as_uint[i] = ~constant.as_uint[i];
      |                                                         ^~~~~~~
../src/reshade/effect_expression.cpp: In member function ‘bool reshadefx::expression::evaluate_constant_expression(reshadefx::tokenid, const reshadefx::constant&)’:
../src/reshade/effect_expression.cpp:381:41: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  381 |                                 if (rhs.as_uint[i] == 0)
      |                                         ^~~~~~~
../src/reshade/effect_expression.cpp:384:50: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  384 |                                         constant.as_uint[i] %= rhs.as_uint[i];
      |                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:384:68: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  384 |                                         constant.as_uint[i] %= rhs.as_uint[i];
      |                                                                    ^~~~~~~
../src/reshade/effect_expression.cpp:393:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  393 |                                 constant.as_uint[i] *= rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:393:60: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  393 |                                 constant.as_uint[i] *= rhs.as_uint[i];
      |                                                            ^~~~~~~
../src/reshade/effect_expression.cpp:401:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  401 |                                 constant.as_uint[i] += rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:401:60: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  401 |                                 constant.as_uint[i] += rhs.as_uint[i];
      |                                                            ^~~~~~~
../src/reshade/effect_expression.cpp:409:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  409 |                                 constant.as_uint[i] -= rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:409:60: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  409 |                                 constant.as_uint[i] -= rhs.as_uint[i];
      |                                                            ^~~~~~~
../src/reshade/effect_expression.cpp:427:41: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  427 |                                 if (rhs.as_uint[i] == 0)
      |                                         ^~~~~~~
../src/reshade/effect_expression.cpp:430:50: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  430 |                                         constant.as_uint[i] /= rhs.as_uint[i];
      |                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:430:68: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  430 |                                         constant.as_uint[i] /= rhs.as_uint[i];
      |                                                                    ^~~~~~~
../src/reshade/effect_expression.cpp:436:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  436 |                         constant.as_uint[i] &= rhs.as_uint[i];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:436:52: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  436 |                         constant.as_uint[i] &= rhs.as_uint[i];
      |                                                    ^~~~~~~
../src/reshade/effect_expression.cpp:441:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  441 |                         constant.as_uint[i] |= rhs.as_uint[i];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:441:52: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  441 |                         constant.as_uint[i] |= rhs.as_uint[i];
      |                                                    ^~~~~~~
../src/reshade/effect_expression.cpp:445:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  445 |                         constant.as_uint[i] ^= rhs.as_uint[i];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:445:52: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  445 |                         constant.as_uint[i] ^= rhs.as_uint[i];
      |                                                    ^~~~~~~
../src/reshade/effect_expression.cpp:450:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  450 |                                 constant.as_uint[i] = constant.as_float[i] < rhs.as_float[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:453:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  453 |                                 constant.as_uint[i] = constant.as_int[i] < rhs.as_int[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:456:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  456 |                                 constant.as_uint[i] = constant.as_uint[i] < rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:456:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  456 |                                 constant.as_uint[i] = constant.as_uint[i] < rhs.as_uint[i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:456:81: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  456 |                                 constant.as_uint[i] = constant.as_uint[i] < rhs.as_uint[i];
      |                                                                                 ^~~~~~~
../src/reshade/effect_expression.cpp:457:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  457 |                 type.base = type::t_bool; // Logic operations change the type to boolean
      |                      ^~~~
../src/reshade/effect_expression.cpp:457:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  457 |                 type.base = type::t_bool; // Logic operations change the type to boolean
      |                                   ^~~~~~
../src/reshade/effect_expression.cpp:462:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  462 |                                 constant.as_uint[i] = constant.as_float[i] <= rhs.as_float[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:465:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  465 |                                 constant.as_uint[i] = constant.as_int[i] <= rhs.as_int[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:468:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  468 |                                 constant.as_uint[i] = constant.as_uint[i] <= rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:468:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  468 |                                 constant.as_uint[i] = constant.as_uint[i] <= rhs.as_uint[i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:468:82: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  468 |                                 constant.as_uint[i] = constant.as_uint[i] <= rhs.as_uint[i];
      |                                                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:469:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  469 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_expression.cpp:469:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  469 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_expression.cpp:474:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  474 |                                 constant.as_uint[i] = constant.as_float[i] > rhs.as_float[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:477:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  477 |                                 constant.as_uint[i] = constant.as_int[i] > rhs.as_int[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:480:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  480 |                                 constant.as_uint[i] = constant.as_uint[i] > rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:480:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  480 |                                 constant.as_uint[i] = constant.as_uint[i] > rhs.as_uint[i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:480:81: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  480 |                                 constant.as_uint[i] = constant.as_uint[i] > rhs.as_uint[i];
      |                                                                                 ^~~~~~~
../src/reshade/effect_expression.cpp:481:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  481 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_expression.cpp:481:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  481 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_expression.cpp:486:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  486 |                                 constant.as_uint[i] = constant.as_float[i] >= rhs.as_float[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:489:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  489 |                                 constant.as_uint[i] = constant.as_int[i] >= rhs.as_int[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:492:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  492 |                                 constant.as_uint[i] = constant.as_uint[i] >= rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:492:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  492 |                                 constant.as_uint[i] = constant.as_uint[i] >= rhs.as_uint[i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:492:82: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  492 |                                 constant.as_uint[i] = constant.as_uint[i] >= rhs.as_uint[i];
      |                                                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:493:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  493 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_expression.cpp:493:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  493 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_expression.cpp:498:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  498 |                                 constant.as_uint[i] = constant.as_float[i] == rhs.as_float[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:501:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  501 |                                 constant.as_uint[i] = constant.as_uint[i] == rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:501:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  501 |                                 constant.as_uint[i] = constant.as_uint[i] == rhs.as_uint[i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:501:82: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  501 |                                 constant.as_uint[i] = constant.as_uint[i] == rhs.as_uint[i];
      |                                                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:502:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  502 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_expression.cpp:502:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  502 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_expression.cpp:507:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  507 |                                 constant.as_uint[i] = constant.as_float[i] != rhs.as_float[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:510:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  510 |                                 constant.as_uint[i] = constant.as_uint[i] != rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:510:64: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  510 |                                 constant.as_uint[i] = constant.as_uint[i] != rhs.as_uint[i];
      |                                                                ^~~~~~~
../src/reshade/effect_expression.cpp:510:82: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  510 |                                 constant.as_uint[i] = constant.as_uint[i] != rhs.as_uint[i];
      |                                                                                  ^~~~~~~
../src/reshade/effect_expression.cpp:511:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  511 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_expression.cpp:511:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  511 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_expression.cpp:515:34: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  515 |                         constant.as_uint[i] <<= rhs.as_uint[i];
      |                                  ^~~~~~~
../src/reshade/effect_expression.cpp:515:53: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  515 |                         constant.as_uint[i] <<= rhs.as_uint[i];
      |                                                     ^~~~~~~
../src/reshade/effect_expression.cpp:523:42: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  523 |                                 constant.as_uint[i] >>= rhs.as_uint[i];
      |                                          ^~~~~~~
../src/reshade/effect_expression.cpp:523:61: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  523 |                                 constant.as_uint[i] >>= rhs.as_uint[i];
      |                                                             ^~~~~~~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> [with auto:19 = reshadefx::struct_info]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, std::vector<reshadefx::struct_info> >; _Predicate = reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)>]’
../src/reshade/effect_codegen.hpp:270:24:   required from here
../src/reshade/effect_codegen.hpp:271:66: error: ‘const struct reshadefx::struct_info’ has no member named ‘definition’
  271 |                                 [id](const auto &it) { return it.definition == id; });
      |                                                               ~~~^~~~~~~~~~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> [with auto:20 = reshadefx::texture_info]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, std::vector<reshadefx::texture_info> >; _Predicate = reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)>]’
../src/reshade/effect_codegen.hpp:280:24:   required from here
../src/reshade/effect_codegen.hpp:281:66: error: ‘const struct reshadefx::texture_info’ has no member named ‘id’
  281 |                                 [id](const auto &it) { return it.id == id; });
      |                                                               ~~~^~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> [with auto:21 = std::unique_ptr<reshadefx::function_info>]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<std::unique_ptr<reshadefx::function_info>*, std::vector<std::unique_ptr<reshadefx::function_info> > >; _Predicate = reshadefx::codegen::find_function(id)::<lambda(const auto:21&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = reshadefx::codegen::find_function(id)::<lambda(const auto:21&)>]’
../src/reshade/effect_codegen.hpp:290:24:   required from here
../src/reshade/effect_codegen.hpp:291:67: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
  291 |                                 [id](const auto &it) { return it->definition == id; })->get();
      |                                                               ~~~~^~~~~~~~~~
[10/57] g++ -Isrc/libkeyboard_input_x11.a.p -Isrc -I../src -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -MD -MQ src/libkeyboard_input_x11.a.p/keyboard_input_x11.cpp.o -MF src/libkeyboard_input_x11.a.p/keyboard_input_x11.cpp.o.d -o src/libkeyboard_input_x11.a.p/keyboard_input_x11.cpp.o -c ../src/keyboard_input_x11.cpp
[11/57] g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_parser.cpp.o -MF src/reshade/libreshade.a.p/effect_parser.cpp.o.d -o src/reshade/libreshade.a.p/effect_parser.cpp.o -c ../src/reshade/effect_parser.cpp
FAILED: src/reshade/libreshade.a.p/effect_parser.cpp.o 
g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_parser.cpp.o -MF src/reshade/libreshade.a.p/effect_parser.cpp.o.d -o src/reshade/libreshade.a.p/effect_parser.cpp.o -c ../src/reshade/effect_parser.cpp
In file included from ../src/reshade/effect_module.hpp:8,
                 from ../src/reshade/effect_symbol_table.hpp:8,
                 from ../src/reshade/effect_parser.hpp:8,
                 from ../src/reshade/effect_parser.cpp:7:
../src/reshade/effect_expression.hpp:17:22: error: use of enum ‘datatype’ without previous declaration
   17 |                 enum datatype : uint8_t
      |                      ^~~~~~~~
../src/reshade/effect_expression.hpp:17:33: error: ‘uint8_t’ was not declared in this scope
   17 |                 enum datatype : uint8_t
      |                                 ^~~~~~~
../src/reshade/effect_expression.hpp:1:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  +++ |+#include <cstdint>
    1 | /*
../src/reshade/effect_expression.hpp:18:17: error: default member initializer for unnamed bit-field
   18 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:30:22: error: use of enum ‘qualifier’ without previous declaration
   30 |                 enum qualifier : uint32_t
      |                      ^~~~~~~~~
../src/reshade/effect_expression.hpp:30:34: error: ‘uint32_t’ was not declared in this scope
   30 |                 enum qualifier : uint32_t
      |                                  ^~~~~~~~
../src/reshade/effect_expression.hpp:30:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:31:17: error: default member initializer for unnamed bit-field
   31 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:62:26: error: ‘qualifier’ has not been declared
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                          ^~~~~~~~~
../src/reshade/effect_expression.hpp:89:17: error: ‘datatype’ does not name a type
   89 |                 datatype base = t_void; // Underlying base type ('int', 'float', ...)
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: error: ‘uint32_t’ does not name a type
   94 |                 uint32_t definition = 0; // ID of the matching struct if this is a struct type
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::has(int) const’:
../src/reshade/effect_expression.hpp:62:71: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                                                      ~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_signed() const’:
../src/reshade/effect_expression.hpp:67:49: error: ‘base’ was not declared in this scope
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:67:57: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                         ^~~~~
      |                                                         u_int
../src/reshade/effect_expression.hpp:67:74: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                                          ^~~~~~~
      |                                                                          float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_void() const’:
../src/reshade/effect_expression.hpp:69:47: error: ‘base’ was not declared in this scope
   69 |                 bool is_void() const { return base == t_void; }
      |                                               ^~~~
../src/reshade/effect_expression.hpp:69:55: error: ‘t_void’ was not declared in this scope; did you mean ‘is_void’?
   69 |                 bool is_void() const { return base == t_void; }
      |                                                       ^~~~~~
      |                                                       is_void
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_boolean() const’:
../src/reshade/effect_expression.hpp:70:50: error: ‘base’ was not declared in this scope
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:70:58: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                          ^~~~~~
      |                                                          bool
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_integral() const’:
../src/reshade/effect_expression.hpp:71:51: error: ‘base’ was not declared in this scope
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:71:59: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                           ^~~~~~
      |                                                           bool
../src/reshade/effect_expression.hpp:71:77: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                             ^~~~~
      |                                                                             u_int
../src/reshade/effect_expression.hpp:71:94: error: ‘t_uint’ was not declared in this scope; did you mean ‘uint’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                                              ^~~~~~
      |                                                                                              uint
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_floating_point() const’:
../src/reshade/effect_expression.hpp:72:57: error: ‘base’ was not declared in this scope
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                         ^~~~
../src/reshade/effect_expression.hpp:72:65: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                                 ^~~~~~~
      |                                                                 float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_struct() const’:
../src/reshade/effect_expression.hpp:73:49: error: ‘base’ was not declared in this scope
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:73:57: error: ‘t_struct’ was not declared in this scope; did you mean ‘is_struct’?
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                         ^~~~~~~~
      |                                                         is_struct
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_texture() const’:
../src/reshade/effect_expression.hpp:74:50: error: ‘base’ was not declared in this scope
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:74:58: error: ‘t_texture’ was not declared in this scope; did you mean ‘is_texture’?
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                          ^~~~~~~~~
      |                                                          is_texture
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_sampler() const’:
../src/reshade/effect_expression.hpp:75:50: error: ‘base’ was not declared in this scope
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:75:58: error: ‘t_sampler’ was not declared in this scope; did you mean ‘is_sampler’?
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                          ^~~~~~~~~
      |                                                          is_sampler
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_function() const’:
../src/reshade/effect_expression.hpp:76:51: error: ‘base’ was not declared in this scope
   76 |                 bool is_function() const { return base == t_function; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:76:59: error: ‘t_function’ was not declared in this scope; did you mean ‘is_function’?
   76 |                 bool is_function() const { return base == t_function; }
      |                                                           ^~~~~~~~~~
      |                                                           is_function
../src/reshade/effect_expression.hpp: In function ‘bool reshadefx::operator==(const type&, const type&)’:
../src/reshade/effect_expression.hpp:82:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                    ^~~~
../src/reshade/effect_expression.hpp:82:48: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                ^~~~
../src/reshade/effect_expression.hpp:82:148: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                    ^~~~~~~~~~
../src/reshade/effect_expression.hpp:82:166: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                                      ^~~~~~~~~~
../src/reshade/effect_expression.hpp: At global scope:
../src/reshade/effect_expression.hpp:106:25: error: ‘uint32_t’ does not name a type
  106 |                         uint32_t as_uint[16];
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:106:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:133:25: error: ‘uint32_t’ does not name a type
  133 |                         uint32_t index = 0;
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:133:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:137:17: error: ‘uint32_t’ does not name a type
  137 |                 uint32_t base = 0;
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:137:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:151:70: error: ‘uint32_t’ has not been declared
  151 |                 void reset_to_lvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:158:70: error: ‘uint32_t’ has not been declared
  158 |                 void reset_to_rvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:168:79: error: ‘uint32_t’ has not been declared
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                                                                               ^~~~~~~~
../src/reshade/effect_expression.hpp:168:22: error: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int)’ cannot be overloaded with ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: previous declaration ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:187:47: error: ‘uint32_t’ has not been declared
  187 |                 void add_dynamic_index_access(uint32_t index_expression);
      |                                               ^~~~~~~~
../src/reshade/effect_module.hpp:62:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   62 |         enum class pass_blend_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:62:34: error: found ‘:’ in nested-name-specifier, expected ‘::’
   62 |         enum class pass_blend_op : uint8_t
      |                                  ^
      |                                  ::
../src/reshade/effect_module.hpp:62:20: error: ‘pass_blend_op’ has not been declared
   62 |         enum class pass_blend_op : uint8_t
      |                    ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:63:9: error: expected unqualified-id before ‘{’ token
   63 |         {
      |         ^
../src/reshade/effect_module.hpp:74:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   74 |         enum class pass_blend_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:74:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   74 |         enum class pass_blend_func : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:74:20: error: ‘pass_blend_func’ has not been declared
   74 |         enum class pass_blend_func : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:75:9: error: expected unqualified-id before ‘{’ token
   75 |         {
      |         ^
../src/reshade/effect_module.hpp:91:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   91 |         enum class pass_stencil_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:91:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   91 |         enum class pass_stencil_op : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:91:20: error: ‘pass_stencil_op’ has not been declared
   91 |         enum class pass_stencil_op : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:92:9: error: expected unqualified-id before ‘{’ token
   92 |         {
      |         ^
../src/reshade/effect_module.hpp:106:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  106 |         enum class pass_stencil_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:106:38: error: found ‘:’ in nested-name-specifier, expected ‘::’
  106 |         enum class pass_stencil_func : uint8_t
      |                                      ^
      |                                      ::
../src/reshade/effect_module.hpp:106:20: error: ‘pass_stencil_func’ has not been declared
  106 |         enum class pass_stencil_func : uint8_t
      |                    ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:107:9: error: expected unqualified-id before ‘{’ token
  107 |         {
      |         ^
../src/reshade/effect_module.hpp:121:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  121 |         enum class primitive_topology : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:121:39: error: found ‘:’ in nested-name-specifier, expected ‘::’
  121 |         enum class primitive_topology : uint8_t
      |                                       ^
      |                                       ::
../src/reshade/effect_module.hpp:121:20: error: ‘primitive_topology’ has not been declared
  121 |         enum class primitive_topology : uint8_t
      |                    ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:122:9: error: expected unqualified-id before ‘{’ token
  122 |         {
      |         ^
../src/reshade/effect_module.hpp:138:17: error: ‘uint32_t’ does not name a type
  138 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:9:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    8 | #include "effect_expression.hpp"
  +++ |+#include <cstdint>
    9 | 
../src/reshade/effect_module.hpp:150:17: error: ‘uint32_t’ does not name a type
  150 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:150:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:168:17: error: ‘uint32_t’ does not name a type
  168 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:168:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:169:17: error: ‘uint32_t’ does not name a type
  169 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:169:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:173:17: error: ‘uint32_t’ does not name a type
  173 |                 uint32_t width = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:173:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:174:17: error: ‘uint32_t’ does not name a type
  174 |                 uint32_t height = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:174:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:175:17: error: ‘uint32_t’ does not name a type
  175 |                 uint32_t levels = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:175:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:184:17: error: ‘uint32_t’ does not name a type
  184 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:184:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:185:17: error: ‘uint32_t’ does not name a type
  185 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:185:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:186:17: error: ‘uint32_t’ does not name a type
  186 |                 uint32_t texture_binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:186:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:197:17: error: ‘uint8_t’ does not name a type
  197 |                 uint8_t srgb = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:197:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:207:17: error: ‘uint32_t’ does not name a type
  207 |                 uint32_t size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:207:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:208:17: error: ‘uint32_t’ does not name a type
  208 |                 uint32_t offset = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:208:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:228:17: error: ‘uint32_t’ does not name a type
  228 |                 uint32_t definition;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:228:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:244:17: error: ‘uint8_t’ does not name a type
  244 |                 uint8_t clear_render_targets = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:244:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:245:17: error: ‘uint8_t’ does not name a type
  245 |                 uint8_t srgb_write_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:245:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:246:17: error: ‘uint8_t’ does not name a type
  246 |                 uint8_t blend_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:246:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:247:17: error: ‘uint8_t’ does not name a type
  247 |                 uint8_t stencil_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:247:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:248:17: error: ‘uint8_t’ does not name a type
  248 |                 uint8_t color_write_mask = 0xF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:248:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:249:17: error: ‘uint8_t’ does not name a type
  249 |                 uint8_t stencil_read_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:249:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:250:17: error: ‘uint8_t’ does not name a type
  250 |                 uint8_t stencil_write_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:250:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:251:17: error: ‘pass_blend_op’ does not name a type
  251 |                 pass_blend_op blend_op = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:252:17: error: ‘pass_blend_op’ does not name a type
  252 |                 pass_blend_op blend_op_alpha = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:253:17: error: ‘pass_blend_func’ does not name a type
  253 |                 pass_blend_func src_blend = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:254:17: error: ‘pass_blend_func’ does not name a type
  254 |                 pass_blend_func dest_blend = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:255:17: error: ‘pass_blend_func’ does not name a type
  255 |                 pass_blend_func src_blend_alpha = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:256:17: error: ‘pass_blend_func’ does not name a type
  256 |                 pass_blend_func dest_blend_alpha = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:257:17: error: ‘pass_stencil_func’ does not name a type
  257 |                 pass_stencil_func stencil_comparison_func = pass_stencil_func::always;
      |                 ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:258:17: error: ‘uint32_t’ does not name a type
  258 |                 uint32_t stencil_reference_value = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:258:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:259:17: error: ‘pass_stencil_op’ does not name a type
  259 |                 pass_stencil_op stencil_op_pass = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:260:17: error: ‘pass_stencil_op’ does not name a type
  260 |                 pass_stencil_op stencil_op_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:261:17: error: ‘pass_stencil_op’ does not name a type
  261 |                 pass_stencil_op stencil_op_depth_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:262:17: error: ‘uint32_t’ does not name a type
  262 |                 uint32_t num_vertices = 3;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:262:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:263:17: error: ‘primitive_topology’ does not name a type
  263 |                 primitive_topology topology = primitive_topology::triangle_list;
      |                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:264:17: error: ‘uint32_t’ does not name a type
  264 |                 uint32_t viewport_width = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:264:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:265:17: error: ‘uint32_t’ does not name a type
  265 |                 uint32_t viewport_height = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:265:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:29: error: ‘uint32_t’ was not declared in this scope
  284 |                 std::vector<uint32_t> spirv;
      |                             ^~~~~~~~
../src/reshade/effect_module.hpp:284:29: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:37: error: template argument 1 is invalid
  284 |                 std::vector<uint32_t> spirv;
      |                                     ^
../src/reshade/effect_module.hpp:284:37: error: template argument 2 is invalid
../src/reshade/effect_module.hpp:284:22: error: ‘<expression error>’ in namespace ‘std’ does not name a type
  284 |                 std::vector<uint32_t> spirv;
      |                      ^~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:292:17: error: ‘uint32_t’ does not name a type
  292 |                 uint32_t total_uniform_size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:292:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:293:17: error: ‘uint32_t’ does not name a type
  293 |                 uint32_t num_sampler_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:293:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:294:17: error: ‘uint32_t’ does not name a type
  294 |                 uint32_t num_texture_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:294:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_symbol_table.hpp:41:17: error: ‘uint32_t’ does not name a type
   41 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_symbol_table.hpp:10:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    9 | #include <unordered_map> // Used for symbol lookup table
  +++ |+#include <cstdint>
   10 | 
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::accept_type_class(reshadefx::type&)’:
../src/reshade/effect_parser.cpp:160:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  160 |                 type.base = type::t_struct;
      |                      ^~~~
../src/reshade/effect_parser.cpp:160:35: error: ‘t_struct’ is not a member of ‘reshadefx::type’
  160 |                 type.base = type::t_struct;
      |                                   ^~~~~~~~
../src/reshade/effect_parser.cpp:169:36: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  169 |                         if (symbol.id && symbol.op == symbol_type::structure)
      |                                    ^~
../src/reshade/effect_parser.cpp:171:38: error: ‘struct reshadefx::type’ has no member named ‘definition’
  171 |                                 type.definition = symbol.id;
      |                                      ^~~~~~~~~~
../src/reshade/effect_parser.cpp:171:58: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  171 |                                 type.definition = symbol.id;
      |                                                          ^~
../src/reshade/effect_parser.cpp:182:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  182 |                 type.base = type::t_float; // Default to float4 unless a type is specified (see below)
      |                      ^~~~
../src/reshade/effect_parser.cpp:182:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
  182 |                 type.base = type::t_float; // Default to float4 unless a type is specified (see below)
      |                                   ^~~~~~~
../src/reshade/effect_parser.cpp:207:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  207 |                 type.base = type::t_float; // Default to float4x4 unless a type is specified (see below)
      |                      ^~~~
../src/reshade/effect_parser.cpp:207:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
  207 |                 type.base = type::t_float; // Default to float4x4 unless a type is specified (see below)
      |                                   ^~~~~~~
../src/reshade/effect_parser.cpp:241:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  241 |                 type.base = type::t_void;
      |                      ^~~~
../src/reshade/effect_parser.cpp:241:35: error: ‘t_void’ is not a member of ‘reshadefx::type’
  241 |                 type.base = type::t_void;
      |                                   ^~~~~~
../src/reshade/effect_parser.cpp:247:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  247 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_parser.cpp:247:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  247 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_parser.cpp:254:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  254 |                 type.base = type::t_bool;
      |                      ^~~~
../src/reshade/effect_parser.cpp:254:35: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  254 |                 type.base = type::t_bool;
      |                                   ^~~~~~
../src/reshade/effect_parser.cpp:262:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  262 |                 type.base = type::t_int;
      |                      ^~~~
../src/reshade/effect_parser.cpp:262:35: error: ‘t_int’ is not a member of ‘reshadefx::type’
  262 |                 type.base = type::t_int;
      |                                   ^~~~~
../src/reshade/effect_parser.cpp:269:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  269 |                 type.base = type::t_int;
      |                      ^~~~
../src/reshade/effect_parser.cpp:269:35: error: ‘t_int’ is not a member of ‘reshadefx::type’
  269 |                 type.base = type::t_int;
      |                                   ^~~~~
../src/reshade/effect_parser.cpp:277:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  277 |                 type.base = type::t_uint;
      |                      ^~~~
../src/reshade/effect_parser.cpp:277:35: error: ‘t_uint’ is not a member of ‘reshadefx::type’
  277 |                 type.base = type::t_uint;
      |                                   ^~~~~~
../src/reshade/effect_parser.cpp:284:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  284 |                 type.base = type::t_uint;
      |                      ^~~~
../src/reshade/effect_parser.cpp:284:35: error: ‘t_uint’ is not a member of ‘reshadefx::type’
  284 |                 type.base = type::t_uint;
      |                                   ^~~~~~
../src/reshade/effect_parser.cpp:292:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  292 |                 type.base = type::t_float;
      |                      ^~~~
../src/reshade/effect_parser.cpp:292:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
  292 |                 type.base = type::t_float;
      |                                   ^~~~~~~
../src/reshade/effect_parser.cpp:299:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  299 |                 type.base = type::t_float;
      |                      ^~~~
../src/reshade/effect_parser.cpp:299:35: error: ‘t_float’ is not a member of ‘reshadefx::type’
  299 |                 type.base = type::t_float;
      |                                   ^~~~~~~
../src/reshade/effect_parser.cpp:304:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  304 |                 type.base = type::t_string;
      |                      ^~~~
../src/reshade/effect_parser.cpp:304:35: error: ‘t_string’ is not a member of ‘reshadefx::type’
  304 |                 type.base = type::t_string;
      |                                   ^~~~~~~~
../src/reshade/effect_parser.cpp:307:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  307 |                 type.base = type::t_texture;
      |                      ^~~~
../src/reshade/effect_parser.cpp:307:35: error: ‘t_texture’ is not a member of ‘reshadefx::type’
  307 |                 type.base = type::t_texture;
      |                                   ^~~~~~~~~
../src/reshade/effect_parser.cpp:310:22: error: ‘struct reshadefx::type’ has no member named ‘base’
  310 |                 type.base = type::t_sampler;
      |                      ^~~~
../src/reshade/effect_parser.cpp:310:35: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
  310 |                 type.base = type::t_sampler;
      |                                   ^~~~~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::accept_type_qualifiers(reshadefx::type&)’:
../src/reshade/effect_parser.cpp:326:37: error: ‘q_extern’ is not a member of ‘reshadefx::type’
  326 |                 qualifiers |= type::q_extern;
      |                                     ^~~~~~~~
../src/reshade/effect_parser.cpp:328:37: error: ‘q_static’ is not a member of ‘reshadefx::type’
  328 |                 qualifiers |= type::q_static;
      |                                     ^~~~~~~~
../src/reshade/effect_parser.cpp:330:37: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  330 |                 qualifiers |= type::q_uniform;
      |                                     ^~~~~~~~~
../src/reshade/effect_parser.cpp:332:37: error: ‘q_volatile’ is not a member of ‘reshadefx::type’
  332 |                 qualifiers |= type::q_volatile;
      |                                     ^~~~~~~~~~
../src/reshade/effect_parser.cpp:334:37: error: ‘q_precise’ is not a member of ‘reshadefx::type’
  334 |                 qualifiers |= type::q_precise;
      |                                     ^~~~~~~~~
../src/reshade/effect_parser.cpp:337:37: error: ‘q_in’ is not a member of ‘reshadefx::type’
  337 |                 qualifiers |= type::q_in;
      |                                     ^~~~
../src/reshade/effect_parser.cpp:339:37: error: ‘q_out’ is not a member of ‘reshadefx::type’
  339 |                 qualifiers |= type::q_out;
      |                                     ^~~~~
../src/reshade/effect_parser.cpp:341:37: error: ‘q_inout’ is not a member of ‘reshadefx::type’
  341 |                 qualifiers |= type::q_inout;
      |                                     ^~~~~~~
../src/reshade/effect_parser.cpp:345:37: error: ‘q_const’ is not a member of ‘reshadefx::type’
  345 |                 qualifiers |= type::q_const;
      |                                     ^~~~~~~
../src/reshade/effect_parser.cpp:349:37: error: ‘q_linear’ is not a member of ‘reshadefx::type’
  349 |                 qualifiers |= type::q_linear;
      |                                     ^~~~~~~~
../src/reshade/effect_parser.cpp:351:37: error: ‘q_noperspective’ is not a member of ‘reshadefx::type’
  351 |                 qualifiers |= type::q_noperspective;
      |                                     ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:353:37: error: ‘q_centroid’ is not a member of ‘reshadefx::type’
  353 |                 qualifiers |= type::q_centroid;
      |                                     ^~~~~~~~~~
../src/reshade/effect_parser.cpp:355:37: error: ‘q_nointerpolation’ is not a member of ‘reshadefx::type’
  355 |                 qualifiers |= type::q_nointerpolation;
      |                                     ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_type(reshadefx::type&)’:
../src/reshade/effect_parser.cpp:379:51: error: ‘q_centroid’ is not a member of ‘reshadefx::type’
  379 |         if (type.is_integral() && (type.has(type::q_centroid) || type.has(type::q_noperspective)))
      |                                                   ^~~~~~~~~~
../src/reshade/effect_parser.cpp:379:81: error: ‘q_noperspective’ is not a member of ‘reshadefx::type’
  379 |         if (type.is_integral() && (type.has(type::q_centroid) || type.has(type::q_noperspective)))
      |                                                                                 ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:381:33: error: ‘q_centroid’ is not a member of ‘reshadefx::type’
  381 |         else if (type.has(type::q_centroid) && !type.has(type::q_noperspective))
      |                                 ^~~~~~~~~~
../src/reshade/effect_parser.cpp:381:64: error: ‘q_noperspective’ is not a member of ‘reshadefx::type’
  381 |         else if (type.has(type::q_centroid) && !type.has(type::q_noperspective))
      |                                                                ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:382:42: error: ‘q_linear’ is not a member of ‘reshadefx::type’
  382 |                 type.qualifiers |= type::q_linear;
      |                                          ^~~~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_array_size(reshadefx::type&)’:
../src/reshade/effect_parser.cpp:404:65: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  404 |                         type.array_length = expression.constant.as_uint[0];
      |                                                                 ^~~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_expression_unary(reshadefx::expression&)’:
../src/reshade/effect_parser.cpp:547:48: error: ‘q_const’ is not a member of ‘reshadefx::type’
  547 |                         if (exp.type.has(type::q_const) || exp.type.has(type::q_uniform) || !exp.is_lvalue)
      |                                                ^~~~~~~
../src/reshade/effect_parser.cpp:547:79: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  547 |                         if (exp.type.has(type::q_const) || exp.type.has(type::q_uniform) || !exp.is_lvalue)
      |                                                                               ^~~~~~~~~
../src/reshade/effect_parser.cpp:553:100: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  553 |                                 if (exp.type.is_floating_point()) one.as_float[i] = 1.0f; else one.as_uint[i] = 1u;
      |                                                                                                    ^~~~~~~
../src/reshade/effect_parser.cpp:569:64: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  569 |                                 exp.add_cast_operation({ type::t_bool, exp.type.rows, exp.type.cols }); // Note: The result will be boolean as well
      |                                                                ^~~~~~
../src/reshade/effect_parser.cpp:569:55: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  569 |                                 exp.add_cast_operation({ type::t_bool, exp.type.rows, exp.type.cols }); // Note: The result will be boolean as well
      |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:626:47: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  626 |                 type composite_type = { type::t_bool, 1, 1 };
      |                                               ^~~~~~
../src/reshade/effect_parser.cpp:693:45: error: call of overloaded ‘reset_to_rvalue_constant(reshadefx::location&, unsigned int&)’ is ambiguous
  693 |                 exp.reset_to_rvalue_constant(location, _token.literal_as_uint);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:165:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, bool)’
  165 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, bool data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:166:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, float)’
  166 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, float data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:768:68: error: ‘struct reshadefx::type’ has no member named ‘base’
  768 |                                 argument.add_cast_operation({ type.base, argument.type.rows, argument.type.cols });
      |                                                                    ^~~~
../src/reshade/effect_parser.cpp:768:60: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  768 |                                 argument.add_cast_operation({ type.base, argument.type.rows, argument.type.cols });
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:770:45: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  770 |                                         res.as_uint[i++] = argument.constant.as_uint[k];
      |                                             ^~~~~~~
../src/reshade/effect_parser.cpp:770:78: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  770 |                                         res.as_uint[i++] = argument.constant.as_uint[k];
      |                                                                              ^~~~~~~
../src/reshade/effect_parser.cpp:786:53: error: ‘struct reshadefx::type’ has no member named ‘base’
  786 |                                         scalar_type.base = type.base;
      |                                                     ^~~~
../src/reshade/effect_parser.cpp:786:65: error: ‘struct reshadefx::type’ has no member named ‘base’
  786 |                                         scalar_type.base = type.base;
      |                                                                 ^~~~
../src/reshade/effect_parser.cpp:832:36: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  832 |                         if (symbol.id && symbol.op != symbol_type::function)
      |                                    ^~
../src/reshade/effect_parser.cpp:854:51: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  854 |                         bool undeclared = !symbol.id, ambiguous = false;
      |                                                   ^~
../src/reshade/effect_parser.cpp:856:90: error: ‘ambiguous’ was not declared in this scope
  856 |                         if (!resolve_function_call(identifier, arguments, scope, symbol, ambiguous))
      |                                                                                          ^~~~~~~~~
../src/reshade/effect_parser.cpp:876:58: error: ‘q_out’ is not a member of ‘reshadefx::type’
  876 |                                 if (param_type.has(type::q_out) && (arguments[i].type.has(type::q_const) || arguments[i].type.has(type::q_uniform) || !arguments[i].is_lvalue))
      |                                                          ^~~~~
../src/reshade/effect_parser.cpp:876:97: error: ‘q_const’ is not a member of ‘reshadefx::type’
  876 |                                 if (param_type.has(type::q_out) && (arguments[i].type.has(type::q_const) || arguments[i].type.has(type::q_uniform) || !arguments[i].is_lvalue))
      |                                                                                                 ^~~~~~~
../src/reshade/effect_parser.cpp:876:137: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  876 |                                 if (param_type.has(type::q_out) && (arguments[i].type.has(type::q_const) || arguments[i].type.has(type::q_uniform) || !arguments[i].is_lvalue))
      |                                                                                                                                         ^~~~~~~~~
../src/reshade/effect_parser.cpp:884:96: error: ‘q_out’ is not a member of ‘reshadefx::type’
  884 |                                 if (symbol.op == symbol_type::function || param_type.has(type::q_out))
      |                                                                                                ^~~~~
../src/reshade/effect_parser.cpp:910:93: error: ‘q_in’ is not a member of ‘reshadefx::type’
  910 |                                 if (parameters[i].is_lvalue && parameters[i].type.has(type::q_in) && !parameters[i].type.is_sampler())
      |                                                                                             ^~~~
../src/reshade/effect_parser.cpp:915:70: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  915 |                                 _codegen->emit_call(location, symbol.id, symbol.type, parameters) :
      |                                                                      ^~
../src/reshade/effect_parser.cpp:916:80: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  916 |                                 _codegen->emit_call_intrinsic(location, symbol.id, symbol.type, parameters);
      |                                                                                ^~
../src/reshade/effect_parser.cpp:923:93: error: ‘q_out’ is not a member of ‘reshadefx::type’
  923 |                                 if (parameters[i].is_lvalue && parameters[i].type.has(type::q_out) && !parameters[i].type.is_sampler())
      |                                                                                             ^~~~~
In file included from /usr/include/c++/13/cassert:44,
                 from ../src/reshade/effect_parser.cpp:9:
../src/reshade/effect_parser.cpp:933:39: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  933 |                         assert(symbol.id != 0);
      |                                       ^~
../src/reshade/effect_parser.cpp:935:62: error: ‘struct reshadefx::symbol’ has no member named ‘id’
  935 |                         exp.reset_to_lvalue(location, symbol.id, symbol.type);
      |                                                              ^~
../src/reshade/effect_parser.cpp:961:48: error: ‘q_const’ is not a member of ‘reshadefx::type’
  961 |                         if (exp.type.has(type::q_const) || exp.type.has(type::q_uniform) || !exp.is_lvalue)
      |                                                ^~~~~~~
../src/reshade/effect_parser.cpp:961:79: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  961 |                         if (exp.type.has(type::q_const) || exp.type.has(type::q_uniform) || !exp.is_lvalue)
      |                                                                               ^~~~~~~~~
../src/reshade/effect_parser.cpp:967:100: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  967 |                                 if (exp.type.is_floating_point()) one.as_float[i] = 1.0f; else one.as_uint[i] = 1u;
      |                                                                                                    ^~~~~~~
../src/reshade/effect_parser.cpp:1045:68: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1045 |                                 if (is_const || exp.type.has(type::q_uniform))
      |                                                                    ^~~~~~~~~
../src/reshade/effect_parser.cpp:1046:92: error: ‘q_const’ is not a member of ‘reshadefx::type’
 1046 |                                         exp.type.qualifiers = (exp.type.qualifiers | type::q_const) & ~type::q_uniform;
      |                                                                                            ^~~~~~~
../src/reshade/effect_parser.cpp:1046:110: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1046 |                                         exp.type.qualifiers = (exp.type.qualifiers | type::q_const) & ~type::q_uniform;
      |                                                                                                              ^~~~~~~~~
../src/reshade/effect_parser.cpp:1089:68: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1089 |                                 if (is_const || exp.type.has(type::q_uniform))
      |                                                                    ^~~~~~~~~
../src/reshade/effect_parser.cpp:1090:92: error: ‘q_const’ is not a member of ‘reshadefx::type’
 1090 |                                         exp.type.qualifiers = (exp.type.qualifiers | type::q_const) & ~type::q_uniform;
      |                                                                                            ^~~~~~~
../src/reshade/effect_parser.cpp:1090:110: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1090 |                                         exp.type.qualifiers = (exp.type.qualifiers | type::q_const) & ~type::q_uniform;
      |                                                                                                              ^~~~~~~~~
../src/reshade/effect_parser.cpp:1094:90: error: ‘struct reshadefx::type’ has no member named ‘definition’
 1094 |                                 const auto &member_list = _codegen->find_struct(exp.type.definition).member_list;
      |                                                                                          ^~~~~~~~~~
../src/reshade/effect_parser.cpp:1110:56: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1110 |                                 if (exp.type.has(type::q_uniform)) // Member access to uniform structure is not modifiable
      |                                                        ^~~~~~~~~
../src/reshade/effect_parser.cpp:1111:92: error: ‘q_const’ is not a member of ‘reshadefx::type’
 1111 |                                         exp.type.qualifiers = (exp.type.qualifiers | type::q_const) & ~type::q_uniform;
      |                                                                                            ^~~~~~~
../src/reshade/effect_parser.cpp:1111:110: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1111 |                                         exp.type.qualifiers = (exp.type.qualifiers | type::q_const) & ~type::q_uniform;
      |                                                                                                              ^~~~~~~~~
../src/reshade/effect_parser.cpp:1151:81: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1151 |                                 if (exp.type.array_length > 0 && index.constant.as_uint[0] >= static_cast<unsigned int>(exp.type.array_length))
      |                                                                                 ^~~~~~~
../src/reshade/effect_parser.cpp:1154:78: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1154 |                                 exp.add_constant_index_access(index.constant.as_uint[0]);
      |                                                                              ^~~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_expression_multary(reshadefx::expression&, unsigned int)’:
../src/reshade/effect_parser.cpp:1233:92: error: ‘struct reshadefx::type’ has no member named ‘definition’
 1233 |                                 if (lhs.type.is_array() || rhs.type.is_array() || lhs.type.definition != rhs.type.definition)
      |                                                                                            ^~~~~~~~~~
../src/reshade/effect_parser.cpp:1233:115: error: ‘struct reshadefx::type’ has no member named ‘definition’
 1233 |                                 if (lhs.type.is_array() || rhs.type.is_array() || lhs.type.definition != rhs.type.definition)
      |                                                                                                                   ^~~~~~~~~~
../src/reshade/effect_parser.cpp:1247:46: error: ‘struct reshadefx::type’ has no member named ‘base’
 1247 |                                         type.base = type::t_bool;
      |                                              ^~~~
../src/reshade/effect_parser.cpp:1247:59: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1247 |                                         type.base = type::t_bool;
      |                                                           ^~~~~~
../src/reshade/effect_parser.cpp:1310:48: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1310 |                                 type = { type::t_bool, type.rows, type.cols };
      |                                                ^~~~~~
../src/reshade/effect_parser.cpp:1310:77: error: no match for ‘operator=’ (operand types are ‘reshadefx::type’ and ‘<brace-enclosed initializer list>’)
 1310 |                                 type = { type::t_bool, type.rows, type.cols };
      |                                                                             ^
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(const reshadefx::type&)’
   15 |         struct type
      |                ^~~~
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(reshadefx::type&&)’
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::type&&’
../src/reshade/effect_parser.cpp:1356:104: error: ‘struct reshadefx::type’ has no member named ‘definition’
 1356 |                         if (true_exp.type.array_length != false_exp.type.array_length || true_exp.type.definition != false_exp.type.definition)
      |                                                                                                        ^~~~~~~~~~
../src/reshade/effect_parser.cpp:1356:133: error: ‘struct reshadefx::type’ has no member named ‘definition’
 1356 |                         if (true_exp.type.array_length != false_exp.type.array_length || true_exp.type.definition != false_exp.type.definition)
      |                                                                                                                                     ^~~~~~~~~~
../src/reshade/effect_parser.cpp:1372:56: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1372 |                         lhs.add_cast_operation({ type::t_bool, type.rows, 1 });
      |                                                        ^~~~~~
../src/reshade/effect_parser.cpp:1372:47: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1372 |                         lhs.add_cast_operation({ type::t_bool, type.rows, 1 });
      |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_expression_assignment(reshadefx::expression&)’:
../src/reshade/effect_parser.cpp:1429:40: error: ‘q_const’ is not a member of ‘reshadefx::type’
 1429 |                 if (lhs.type.has(type::q_const) || lhs.type.has(type::q_uniform) || !lhs.is_lvalue)
      |                                        ^~~~~~~
../src/reshade/effect_parser.cpp:1429:71: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 1429 |                 if (lhs.type.has(type::q_const) || lhs.type.has(type::q_uniform) || !lhs.is_lvalue)
      |                                                                       ^~~~~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_statement(bool)’:
../src/reshade/effect_parser.cpp:1566:62: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1566 |                         condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                                              ^~~~~~
../src/reshade/effect_parser.cpp:1566:53: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1566 |                         condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:1609:65: error: ‘t_int’ is not a member of ‘reshadefx::type’
 1609 |                         selector_exp.add_cast_operation({ type::t_int, 1, 1 });
      |                                                                 ^~~~~
../src/reshade/effect_parser.cpp:1609:56: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1609 |                         selector_exp.add_cast_operation({ type::t_int, 1, 1 });
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:1643:111: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1643 |                                                         if (case_literal_and_labels[i] == case_label.constant.as_uint[0])
      |                                                                                                               ^~~~~~~
../src/reshade/effect_parser.cpp:1646:153: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1646 |                                                                 error(case_label.location, 3532, "duplicate case " + std::to_string(case_label.constant.as_uint[0]));
      |                                                                                                                                                         ^~~~~~~
../src/reshade/effect_parser.cpp:1651:103: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1651 |                                                 case_literal_and_labels.push_back(case_label.constant.as_uint[0]);
      |                                                                                                       ^~~~~~~
../src/reshade/effect_parser.cpp:1769:78: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1769 |                                         condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                                                              ^~~~~~
../src/reshade/effect_parser.cpp:1769:69: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1769 |                                         condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:1856:70: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1856 |                                 condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                                                      ^~~~~~
../src/reshade/effect_parser.cpp:1856:61: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1856 |                                 condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:1941:70: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1941 |                                 condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                                                      ^~~~~~
../src/reshade/effect_parser.cpp:1941:61: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1941 |                                 condition.add_cast_operation({ type::t_bool, 1, 1 });
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_top()’:
../src/reshade/effect_parser.cpp:2166:91: error: ‘t_function’ is not a member of ‘reshadefx::type’
 2166 |                                 insert_symbol(name, { symbol_type::function, ~0u, { type::t_function } }, true);
      |                                                                                           ^~~~~~~~~~
../src/reshade/effect_parser.cpp:2166:46: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
 2166 |                                 insert_symbol(name, { symbol_type::function, ~0u, { type::t_function } }, true);
      |                                 ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.hpp:81:75: note:   initializing argument 2 of ‘bool reshadefx::symbol_table::insert_symbol(const std::string&, const reshadefx::symbol&, bool)’
   81 |                 bool insert_symbol(const std::string &name, const symbol &symbol, bool global = false);
      |                                                             ~~~~~~~~~~~~~~^~~~~~
../src/reshade/effect_parser.cpp:2180:54: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
 2180 |                                         insert_symbol(name, { symbol_type::variable, ~0u, type }, true);
      |                                         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.hpp:81:75: note:   initializing argument 2 of ‘bool reshadefx::symbol_table::insert_symbol(const std::string&, const reshadefx::symbol&, bool)’
   81 |                 bool insert_symbol(const std::string &name, const symbol &symbol, bool global = false);
      |                                                             ~~~~~~~~~~~~~~^~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_struct()’:
../src/reshade/effect_parser.cpp:2225:43: error: ‘q_in’ is not a member of ‘reshadefx::type’
 2225 |                 if (member.type.has(type::q_in) || member.type.has(type::q_out))
      |                                           ^~~~
../src/reshade/effect_parser.cpp:2225:74: error: ‘q_out’ is not a member of ‘reshadefx::type’
 2225 |                 if (member.type.has(type::q_in) || member.type.has(type::q_out))
      |                                                                          ^~~~~
../src/reshade/effect_parser.cpp:2275:57: warning: narrowing conversion of ‘(unsigned int)id’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
 2275 |         const symbol symbol = { symbol_type::structure, id };
      |                                                         ^~
../src/reshade/effect_parser.cpp:2275:57: warning: narrowing conversion of ‘(unsigned int)id’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_function(reshadefx::type, std::string)’:
../src/reshade/effect_parser.cpp:2341:42: error: ‘q_extern’ is not a member of ‘reshadefx::type’
 2341 |                 if (param.type.has(type::q_extern))
      |                                          ^~~~~~~~
../src/reshade/effect_parser.cpp:2344:42: error: ‘q_static’ is not a member of ‘reshadefx::type’
 2344 |                 if (param.type.has(type::q_static))
      |                                          ^~~~~~~~
../src/reshade/effect_parser.cpp:2347:42: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2347 |                 if (param.type.has(type::q_uniform))
      |                                          ^~~~~~~~~
../src/reshade/effect_parser.cpp:2351:42: error: ‘q_out’ is not a member of ‘reshadefx::type’
 2351 |                 if (param.type.has(type::q_out) && param.type.has(type::q_const))
      |                                          ^~~~~
../src/reshade/effect_parser.cpp:2351:73: error: ‘q_const’ is not a member of ‘reshadefx::type’
 2351 |                 if (param.type.has(type::q_out) && param.type.has(type::q_const))
      |                                                                         ^~~~~~~
../src/reshade/effect_parser.cpp:2354:48: error: ‘q_out’ is not a member of ‘reshadefx::type’
 2354 |                 else if (!param.type.has(type::q_out))
      |                                                ^~~~~
../src/reshade/effect_parser.cpp:2355:56: error: ‘q_in’ is not a member of ‘reshadefx::type’
 2355 |                         param.type.qualifiers |= type::q_in; // Function parameters are implicitly 'in' if not explicitly defined as 'out'
      |                                                        ^~~~
../src/reshade/effect_parser.cpp:2385:79: error: ‘q_nointerpolation’ is not a member of ‘reshadefx::type’
 2385 |                         if (param.type.is_integral() && !param.type.has(type::q_nointerpolation) &&
      |                                                                               ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2388:64: error: ‘q_nointerpolation’ is not a member of ‘reshadefx::type’
 2388 |                                 param.type.qualifiers |= type::q_nointerpolation; // Integer parameters do not interpolate, so make this explicit (to avoid issues with GLSL)
      |                                                                ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2420:62: error: ‘t_function’ is not a member of ‘reshadefx::type’
 2420 |         symbol symbol = { symbol_type::function, id, { type::t_function } };
      |                                                              ^~~~~~~~~~
../src/reshade/effect_parser.cpp:2420:50: warning: narrowing conversion of ‘(unsigned int)id’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
 2420 |         symbol symbol = { symbol_type::function, id, { type::t_function } };
      |                                                  ^~
../src/reshade/effect_parser.cpp:2420:75: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘int’ in initialization
 2420 |         symbol symbol = { symbol_type::function, id, { type::t_function } };
      |                                                                           ^
../src/reshade/effect_parser.cpp:2427:79: error: ‘const struct reshadefx::struct_member_info’ has no member named ‘definition’
 2427 |                 if (!insert_symbol(param.name, { symbol_type::variable, param.definition, param.type }))
      |                                                                               ^~~~~~~~~~
../src/reshade/effect_parser.cpp:2427:35: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
 2427 |                 if (!insert_symbol(param.name, { symbol_type::variable, param.definition, param.type }))
      |                      ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_symbol_table.hpp:81:75: note:   initializing argument 2 of ‘bool reshadefx::symbol_table::insert_symbol(const std::string&, const reshadefx::symbol&, bool)’
   81 |                 bool insert_symbol(const std::string &name, const symbol &symbol, bool global = false);
      |                                                             ~~~~~~~~~~~~~~^~~~~~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_variable(reshadefx::type, std::string, bool)’:
../src/reshade/effect_parser.cpp:2449:28: error: ‘q_in’ is not a member of ‘reshadefx::type’
 2449 |         if (type.has(type::q_in) || type.has(type::q_out))
      |                            ^~~~
../src/reshade/effect_parser.cpp:2449:52: error: ‘q_out’ is not a member of ‘reshadefx::type’
 2449 |         if (type.has(type::q_in) || type.has(type::q_out))
      |                                                    ^~~~~
../src/reshade/effect_parser.cpp:2456:36: error: ‘q_static’ is not a member of ‘reshadefx::type’
 2456 |                 if (type.has(type::q_static))
      |                                    ^~~~~~~~
../src/reshade/effect_parser.cpp:2459:44: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2459 |                         if (type.has(type::q_uniform))
      |                                            ^~~~~~~~~
../src/reshade/effect_parser.cpp:2462:44: error: ‘q_volatile’ is not a member of ‘reshadefx::type’
 2462 |                         if (type.has(type::q_volatile))
      |                                            ^~~~~~~~~~
../src/reshade/effect_parser.cpp:2468:45: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2468 |                         if (!type.has(type::q_uniform) && !(type.is_texture() || type.is_sampler()))
      |                                             ^~~~~~~~~
../src/reshade/effect_parser.cpp:2472:50: error: ‘q_extern’ is not a member of ‘reshadefx::type’
 2472 |                         type.qualifiers |= type::q_extern | type::q_uniform;
      |                                                  ^~~~~~~~
../src/reshade/effect_parser.cpp:2472:67: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2472 |                         type.qualifiers |= type::q_extern | type::q_uniform;
      |                                                                   ^~~~~~~~~
../src/reshade/effect_parser.cpp:2475:44: error: ‘q_const’ is not a member of ‘reshadefx::type’
 2475 |                         if (type.has(type::q_const))
      |                                            ^~~~~~~
../src/reshade/effect_parser.cpp:2481:36: error: ‘q_extern’ is not a member of ‘reshadefx::type’
 2481 |                 if (type.has(type::q_extern))
      |                                    ^~~~~~~~
../src/reshade/effect_parser.cpp:2483:36: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2483 |                 if (type.has(type::q_uniform))
      |                                    ^~~~~~~~~
../src/reshade/effect_parser.cpp:2545:44: error: ‘q_const’ is not a member of ‘reshadefx::type’
 2545 |                         if (type.has(type::q_const)) // Constants have to have an initial value
      |                                            ^~~~~~~
../src/reshade/effect_parser.cpp:2547:50: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2547 |                         else if (!type.has(type::q_uniform)) // Zero initialize all global variables
      |                                                  ^~~~~~~~~
../src/reshade/effect_parser.cpp:2552:44: error: ‘q_const’ is not a member of ‘reshadefx::type’
 2552 |                         if (type.has(type::q_const)) // Non-numeric variables cannot be constants
      |                                            ^~~~~~~
../src/reshade/effect_parser.cpp:2599:84: error: call of overloaded ‘reset_to_rvalue_constant(reshadefx::location&, const unsigned int&)’ is ambiguous
 2599 |                                                 expression.reset_to_rvalue_constant(_token.location, it->second);
      |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:165:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, bool)’
  165 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, bool data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:166:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, float)’
  166 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, float data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2611:56: error: ‘struct reshadefx::expression’ has no member named ‘base’
 2611 |                                         if (expression.base == 0xFFFFFFFF)
      |                                                        ^~~~
../src/reshade/effect_parser.cpp:2617:90: error: ‘struct reshadefx::expression’ has no member named ‘base’
 2617 |                                         texture_info = _codegen->find_texture(expression.base);
      |                                                                                          ^~~~
../src/reshade/effect_parser.cpp:2626:79: error: ‘t_uint’ is not a member of ‘reshadefx::type’
 2626 |                                         expression.add_cast_operation({ type::t_uint, 1, 1 });
      |                                                                               ^~~~~~
../src/reshade/effect_parser.cpp:2626:70: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 2626 |                                         expression.add_cast_operation({ type::t_uint, 1, 1 });
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:2627:88: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 2627 |                                         const unsigned int value = expression.constant.as_uint[0];
      |                                                                                        ^~~~~~~
../src/reshade/effect_parser.cpp:2630:62: error: ‘struct reshadefx::texture_info’ has no member named ‘width’
 2630 |                                                 texture_info.width = value > 0 ? value : 1;
      |                                                              ^~~~~
../src/reshade/effect_parser.cpp:2632:62: error: ‘struct reshadefx::texture_info’ has no member named ‘height’
 2632 |                                                 texture_info.height = value > 0 ? value : 1;
      |                                                              ^~~~~~
../src/reshade/effect_parser.cpp:2634:62: error: ‘struct reshadefx::texture_info’ has no member named ‘levels’
 2634 |                                                 texture_info.levels = value > 0 ? value : 1;
      |                                                              ^~~~~~
../src/reshade/effect_parser.cpp:2638:62: error: ‘struct reshadefx::sampler_info’ has no member named ‘srgb’
 2638 |                                                 sampler_info.srgb = value != 0;
      |                                                              ^~~~
../src/reshade/effect_parser.cpp:2677:49: error: ‘q_const’ is not a member of ‘reshadefx::type’
 2677 |         if (type.is_numeric() && type.has(type::q_const) && initializer.is_constant)
      |                                                 ^~~~~~~
../src/reshade/effect_parser.cpp:2680:81: error: no match for ‘operator=’ (operand types are ‘reshadefx::symbol’ and ‘<brace-enclosed initializer list>’)
 2680 |                 symbol = { symbol_type::constant, 0, type, initializer.constant };
      |                                                                                 ^
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(const reshadefx::symbol&)’
   38 |         struct symbol
      |                ^~~~~~
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(reshadefx::symbol&&)’
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::symbol&&’
../src/reshade/effect_parser.cpp:2692:59: error: no match for ‘operator=’ (operand types are ‘reshadefx::symbol’ and ‘<brace-enclosed initializer list>’)
 2692 |                 symbol = { symbol_type::variable, 0, type };
      |                                                           ^
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(const reshadefx::symbol&)’
   38 |         struct symbol
      |                ^~~~~~
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(reshadefx::symbol&&)’
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::symbol&&’
../src/reshade/effect_parser.cpp:2693:24: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2693 |                 symbol.id = _codegen->define_texture(location, texture_info);
      |                        ^~
../src/reshade/effect_parser.cpp:2702:34: error: ‘struct reshadefx::sampler_info’ has no member named ‘srgb’
 2702 |                 if (sampler_info.srgb && texture_info.format != texture_format::rgba8)
      |                                  ^~~~
../src/reshade/effect_parser.cpp:2709:59: error: no match for ‘operator=’ (operand types are ‘reshadefx::symbol’ and ‘<brace-enclosed initializer list>’)
 2709 |                 symbol = { symbol_type::variable, 0, type };
      |                                                           ^
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(const reshadefx::symbol&)’
   38 |         struct symbol
      |                ^~~~~~
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(reshadefx::symbol&&)’
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::symbol&&’
../src/reshade/effect_parser.cpp:2710:24: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2710 |                 symbol.id = _codegen->define_sampler(location, sampler_info);
      |                        ^~
../src/reshade/effect_parser.cpp:2713:33: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
 2713 |         else if (type.has(type::q_uniform))
      |                                 ^~~~~~~~~
../src/reshade/effect_parser.cpp:2726:59: error: no match for ‘operator=’ (operand types are ‘reshadefx::symbol’ and ‘<brace-enclosed initializer list>’)
 2726 |                 symbol = { symbol_type::variable, 0, type };
      |                                                           ^
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(const reshadefx::symbol&)’
   38 |         struct symbol
      |                ^~~~~~
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(reshadefx::symbol&&)’
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::symbol&&’
../src/reshade/effect_parser.cpp:2727:24: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2727 |                 symbol.id = _codegen->define_uniform(location, uniform_info);
      |                        ^~
../src/reshade/effect_parser.cpp:2736:59: error: no match for ‘operator=’ (operand types are ‘reshadefx::symbol’ and ‘<brace-enclosed initializer list>’)
 2736 |                 symbol = { symbol_type::variable, 0, type };
      |                                                           ^
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(const reshadefx::symbol&)’
   38 |         struct symbol
      |                ^~~~~~
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::symbol&’
../src/reshade/effect_symbol_table.hpp:38:16: note: candidate: ‘constexpr reshadefx::symbol& reshadefx::symbol::operator=(reshadefx::symbol&&)’
../src/reshade/effect_symbol_table.hpp:38:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::symbol&&’
../src/reshade/effect_parser.cpp:2737:24: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2737 |                 symbol.id = _codegen->define_variable(location, type, std::move(unique_name), global, _codegen->emit_load(initializer));
      |                        ^~
../src/reshade/effect_parser.cpp: In member function ‘bool reshadefx::parser::parse_technique_pass(reshadefx::pass_info&)’:
../src/reshade/effect_parser.cpp:2820:36: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2820 |                         if (symbol.id != 0xFFFFFFFF)
      |                                    ^~
../src/reshade/effect_parser.cpp:2824:53: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2824 |                                         if (!symbol.id)
      |                                                     ^~
../src/reshade/effect_parser.cpp:2835:111: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2835 |                                                 function_info &function_info = _codegen->find_function(symbol.id);
      |                                                                                                               ^~
../src/reshade/effect_parser.cpp:2856:53: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2856 |                                         if (!symbol.id)
      |                                                     ^~
../src/reshade/effect_parser.cpp:2863:113: error: ‘struct reshadefx::symbol’ has no member named ‘id’
 2863 |                                                 const texture_info &target_info = _codegen->find_texture(symbol.id);
      |                                                                                                                 ^~
../src/reshade/effect_parser.cpp:2866:58: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_width’
 2866 |                                                 if (info.viewport_width != 0 && info.viewport_height != 0 && (target_info.width != info.viewport_width || target_info.height != info.viewport_height))
      |                                                          ^~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2866:86: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_height’
 2866 |                                                 if (info.viewport_width != 0 && info.viewport_height != 0 && (target_info.width != info.viewport_width || target_info.height != info.viewport_height))
      |                                                                                      ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2866:123: error: ‘const struct reshadefx::texture_info’ has no member named ‘width’
 2866 |                                                 if (info.viewport_width != 0 && info.viewport_height != 0 && (target_info.width != info.viewport_width || target_info.height != info.viewport_height))
      |                                                                                                                           ^~~~~
../src/reshade/effect_parser.cpp:2866:137: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_width’
 2866 |                                                 if (info.viewport_width != 0 && info.viewport_height != 0 && (target_info.width != info.viewport_width || target_info.height != info.viewport_height))
      |                                                                                                                                         ^~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2866:167: error: ‘const struct reshadefx::texture_info’ has no member named ‘height’
 2866 |                                                 if (info.viewport_width != 0 && info.viewport_height != 0 && (target_info.width != info.viewport_width || target_info.height != info.viewport_height))
      |                                                                                                                                                                       ^~~~~~
../src/reshade/effect_parser.cpp:2866:182: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_height’
 2866 |                                                 if (info.viewport_width != 0 && info.viewport_height != 0 && (target_info.width != info.viewport_width || target_info.height != info.viewport_height))
      |                                                                                                                                                                                      ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2868:184: error: ‘const struct reshadefx::texture_info’ has no member named ‘width’
 2868 |                                                         error(location, 4545, "cannot use multiple render targets with different texture dimensions (is " + std::to_string(target_info.width) + 'x' + std::to_string(target_info.height) + ", but expected " + std::to_string(info.viewport_width) + 'x' + std::to_string(info.viewport_height) + ')');
      |                                                                                                                                                                                        ^~~~~
../src/reshade/effect_parser.cpp:2868:226: error: ‘const struct reshadefx::texture_info’ has no member named ‘height’
 2868 |                                                         error(location, 4545, "cannot use multiple render targets with different texture dimensions (is " + std::to_string(target_info.width) + 'x' + std::to_string(target_info.height) + ", but expected " + std::to_string(info.viewport_width) + 'x' + std::to_string(info.viewport_height) + ')');
      |                                                                                                                                                                                                                                  ^~~~~~
../src/reshade/effect_parser.cpp:2868:276: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_width’
 2868 |                                                         error(location, 4545, "cannot use multiple render targets with different texture dimensions (is " + std::to_string(target_info.width) + 'x' + std::to_string(target_info.height) + ", but expected " + std::to_string(info.viewport_width) + 'x' + std::to_string(info.viewport_height) + ')');
      |                                                                                                                                                                                                                                                                                    ^~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2868:320: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_height’
 2868 |                                                         error(location, 4545, "cannot use multiple render targets with different texture dimensions (is " + std::to_string(target_info.width) + 'x' + std::to_string(target_info.height) + ", but expected " + std::to_string(info.viewport_width) + 'x' + std::to_string(info.viewport_height) + ')');
      |                                                                                                                                                                                                                                                                                                                                ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2870:54: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_width’
 2870 |                                                 info.viewport_width = target_info.width;
      |                                                      ^~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2870:83: error: ‘const struct reshadefx::texture_info’ has no member named ‘width’
 2870 |                                                 info.viewport_width = target_info.width;
      |                                                                                   ^~~~~
../src/reshade/effect_parser.cpp:2871:54: error: ‘struct reshadefx::pass_info’ has no member named ‘viewport_height’
 2871 |                                                 info.viewport_height = target_info.height;
      |                                                      ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2871:84: error: ‘const struct reshadefx::texture_info’ has no member named ‘height’
 2871 |                                                 info.viewport_height = target_info.height;
      |                                                                                    ^~~~~~
../src/reshade/effect_parser.cpp:2900:59: error: ‘pass_blend_op’ was not declared in this scope
 2900 |                                         { "ADD", uint32_t(pass_blend_op::add) },
      |                                                           ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2901:63: error: expected primary-expression before ‘(’ token
 2901 |                                         { "SUBTRACT", uint32_t(pass_blend_op::subtract) },
      |                                                               ^
../src/reshade/effect_parser.cpp:2901:64: error: ‘pass_blend_op’ is not a class, namespace, or enumeration
 2901 |                                         { "SUBTRACT", uint32_t(pass_blend_op::subtract) },
      |                                                                ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2902:66: error: expected primary-expression before ‘(’ token
 2902 |                                         { "REVSUBTRACT", uint32_t(pass_blend_op::rev_subtract) },
      |                                                                  ^
../src/reshade/effect_parser.cpp:2902:67: error: ‘pass_blend_op’ is not a class, namespace, or enumeration
 2902 |                                         { "REVSUBTRACT", uint32_t(pass_blend_op::rev_subtract) },
      |                                                                   ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2903:58: error: expected primary-expression before ‘(’ token
 2903 |                                         { "MIN", uint32_t(pass_blend_op::min) },
      |                                                          ^
../src/reshade/effect_parser.cpp:2903:59: error: ‘pass_blend_op’ is not a class, namespace, or enumeration
 2903 |                                         { "MIN", uint32_t(pass_blend_op::min) },
      |                                                           ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2904:58: error: expected primary-expression before ‘(’ token
 2904 |                                         { "MAX", uint32_t(pass_blend_op::max) },
      |                                                          ^
../src/reshade/effect_parser.cpp:2904:59: error: ‘pass_blend_op’ is not a class, namespace, or enumeration
 2904 |                                         { "MAX", uint32_t(pass_blend_op::max) },
      |                                                           ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2905:64: error: ‘pass_blend_func’ was not declared in this scope
 2905 |                                         { "SRCCOLOR", uint32_t(pass_blend_func::src_color) },
      |                                                                ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2906:63: error: expected primary-expression before ‘(’ token
 2906 |                                         { "SRCALPHA", uint32_t(pass_blend_func::src_alpha) },
      |                                                               ^
../src/reshade/effect_parser.cpp:2906:64: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2906 |                                         { "SRCALPHA", uint32_t(pass_blend_func::src_alpha) },
      |                                                                ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2907:66: error: expected primary-expression before ‘(’ token
 2907 |                                         { "INVSRCCOLOR", uint32_t(pass_blend_func::inv_src_color) },
      |                                                                  ^
../src/reshade/effect_parser.cpp:2907:67: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2907 |                                         { "INVSRCCOLOR", uint32_t(pass_blend_func::inv_src_color) },
      |                                                                   ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2908:66: error: expected primary-expression before ‘(’ token
 2908 |                                         { "INVSRCALPHA", uint32_t(pass_blend_func::inv_src_alpha) },
      |                                                                  ^
../src/reshade/effect_parser.cpp:2908:67: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2908 |                                         { "INVSRCALPHA", uint32_t(pass_blend_func::inv_src_alpha) },
      |                                                                   ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2909:64: error: expected primary-expression before ‘(’ token
 2909 |                                         { "DESTCOLOR", uint32_t(pass_blend_func::dst_color) },
      |                                                                ^
../src/reshade/effect_parser.cpp:2909:65: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2909 |                                         { "DESTCOLOR", uint32_t(pass_blend_func::dst_color) },
      |                                                                 ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2910:64: error: expected primary-expression before ‘(’ token
 2910 |                                         { "DESTALPHA", uint32_t(pass_blend_func::dst_alpha) },
      |                                                                ^
../src/reshade/effect_parser.cpp:2910:65: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2910 |                                         { "DESTALPHA", uint32_t(pass_blend_func::dst_alpha) },
      |                                                                 ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2911:67: error: expected primary-expression before ‘(’ token
 2911 |                                         { "INVDESTCOLOR", uint32_t(pass_blend_func::inv_dst_color) },
      |                                                                   ^
../src/reshade/effect_parser.cpp:2911:68: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2911 |                                         { "INVDESTCOLOR", uint32_t(pass_blend_func::inv_dst_color) },
      |                                                                    ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2912:67: error: expected primary-expression before ‘(’ token
 2912 |                                         { "INVDESTALPHA", uint32_t(pass_blend_func::inv_dst_alpha) },
      |                                                                   ^
../src/reshade/effect_parser.cpp:2912:68: error: ‘pass_blend_func’ is not a class, namespace, or enumeration
 2912 |                                         { "INVDESTALPHA", uint32_t(pass_blend_func::inv_dst_alpha) },
      |                                                                    ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2913:60: error: ‘pass_stencil_op’ was not declared in this scope
 2913 |                                         { "KEEP", uint32_t(pass_stencil_op::keep) },
      |                                                            ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2914:62: error: expected primary-expression before ‘(’ token
 2914 |                                         { "REPLACE", uint32_t(pass_stencil_op::replace) },
      |                                                              ^
../src/reshade/effect_parser.cpp:2914:63: error: ‘pass_stencil_op’ is not a class, namespace, or enumeration
 2914 |                                         { "REPLACE", uint32_t(pass_stencil_op::replace) },
      |                                                               ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2915:61: error: expected primary-expression before ‘(’ token
 2915 |                                         { "INVERT", uint32_t(pass_stencil_op::invert) },
      |                                                             ^
../src/reshade/effect_parser.cpp:2915:62: error: ‘pass_stencil_op’ is not a class, namespace, or enumeration
 2915 |                                         { "INVERT", uint32_t(pass_stencil_op::invert) },
      |                                                              ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2916:59: error: expected primary-expression before ‘(’ token
 2916 |                                         { "INCR", uint32_t(pass_stencil_op::incr) },
      |                                                           ^
../src/reshade/effect_parser.cpp:2916:60: error: ‘pass_stencil_op’ is not a class, namespace, or enumeration
 2916 |                                         { "INCR", uint32_t(pass_stencil_op::incr) },
      |                                                            ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2917:62: error: expected primary-expression before ‘(’ token
 2917 |                                         { "INCRSAT", uint32_t(pass_stencil_op::incr_sat) },
      |                                                              ^
../src/reshade/effect_parser.cpp:2917:63: error: ‘pass_stencil_op’ is not a class, namespace, or enumeration
 2917 |                                         { "INCRSAT", uint32_t(pass_stencil_op::incr_sat) },
      |                                                               ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2918:59: error: expected primary-expression before ‘(’ token
 2918 |                                         { "DECR", uint32_t(pass_stencil_op::decr) },
      |                                                           ^
../src/reshade/effect_parser.cpp:2918:60: error: ‘pass_stencil_op’ is not a class, namespace, or enumeration
 2918 |                                         { "DECR", uint32_t(pass_stencil_op::decr) },
      |                                                            ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2919:62: error: expected primary-expression before ‘(’ token
 2919 |                                         { "DECRSAT", uint32_t(pass_stencil_op::decr_sat) },
      |                                                              ^
../src/reshade/effect_parser.cpp:2919:63: error: ‘pass_stencil_op’ is not a class, namespace, or enumeration
 2919 |                                         { "DECRSAT", uint32_t(pass_stencil_op::decr_sat) },
      |                                                               ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2920:61: error: ‘pass_stencil_func’ was not declared in this scope
 2920 |                                         { "NEVER", uint32_t(pass_stencil_func::never) },
      |                                                             ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2921:60: error: expected primary-expression before ‘(’ token
 2921 |                                         { "EQUAL", uint32_t(pass_stencil_func::equal) },
      |                                                            ^
../src/reshade/effect_parser.cpp:2921:61: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2921 |                                         { "EQUAL", uint32_t(pass_stencil_func::equal) },
      |                                                             ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2922:61: error: expected primary-expression before ‘(’ token
 2922 |                                         { "NEQUAL", uint32_t(pass_stencil_func::not_equal) }, { "NOTEQUAL", uint32_t(pass_stencil_func::not_equal)  },
      |                                                             ^
../src/reshade/effect_parser.cpp:2922:62: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2922 |                                         { "NEQUAL", uint32_t(pass_stencil_func::not_equal) }, { "NOTEQUAL", uint32_t(pass_stencil_func::not_equal)  },
      |                                                              ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2922:117: error: expected primary-expression before ‘(’ token
 2922 |                                         { "NEQUAL", uint32_t(pass_stencil_func::not_equal) }, { "NOTEQUAL", uint32_t(pass_stencil_func::not_equal)  },
      |                                                                                                                     ^
../src/reshade/effect_parser.cpp:2922:118: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2922 |                                         { "NEQUAL", uint32_t(pass_stencil_func::not_equal) }, { "NOTEQUAL", uint32_t(pass_stencil_func::not_equal)  },
      |                                                                                                                      ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2923:59: error: expected primary-expression before ‘(’ token
 2923 |                                         { "LESS", uint32_t(pass_stencil_func::less) },
      |                                                           ^
../src/reshade/effect_parser.cpp:2923:60: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2923 |                                         { "LESS", uint32_t(pass_stencil_func::less) },
      |                                                            ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2924:62: error: expected primary-expression before ‘(’ token
 2924 |                                         { "GREATER", uint32_t(pass_stencil_func::greater) },
      |                                                              ^
../src/reshade/effect_parser.cpp:2924:63: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2924 |                                         { "GREATER", uint32_t(pass_stencil_func::greater) },
      |                                                               ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2925:61: error: expected primary-expression before ‘(’ token
 2925 |                                         { "LEQUAL", uint32_t(pass_stencil_func::less_equal) }, { "LESSEQUAL", uint32_t(pass_stencil_func::less_equal) },
      |                                                             ^
../src/reshade/effect_parser.cpp:2925:62: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2925 |                                         { "LEQUAL", uint32_t(pass_stencil_func::less_equal) }, { "LESSEQUAL", uint32_t(pass_stencil_func::less_equal) },
      |                                                              ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2925:119: error: expected primary-expression before ‘(’ token
 2925 |                                         { "LEQUAL", uint32_t(pass_stencil_func::less_equal) }, { "LESSEQUAL", uint32_t(pass_stencil_func::less_equal) },
      |                                                                                                                       ^
../src/reshade/effect_parser.cpp:2925:120: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2925 |                                         { "LEQUAL", uint32_t(pass_stencil_func::less_equal) }, { "LESSEQUAL", uint32_t(pass_stencil_func::less_equal) },
      |                                                                                                                        ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2926:61: error: expected primary-expression before ‘(’ token
 2926 |                                         { "GEQUAL", uint32_t(pass_stencil_func::greater_equal) }, { "GREATEREQUAL", uint32_t(pass_stencil_func::greater_equal) },
      |                                                             ^
../src/reshade/effect_parser.cpp:2926:62: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2926 |                                         { "GEQUAL", uint32_t(pass_stencil_func::greater_equal) }, { "GREATEREQUAL", uint32_t(pass_stencil_func::greater_equal) },
      |                                                              ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2926:125: error: expected primary-expression before ‘(’ token
 2926 |                                         { "GEQUAL", uint32_t(pass_stencil_func::greater_equal) }, { "GREATEREQUAL", uint32_t(pass_stencil_func::greater_equal) },
      |                                                                                                                             ^
../src/reshade/effect_parser.cpp:2926:126: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2926 |                                         { "GEQUAL", uint32_t(pass_stencil_func::greater_equal) }, { "GREATEREQUAL", uint32_t(pass_stencil_func::greater_equal) },
      |                                                                                                                              ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2927:61: error: expected primary-expression before ‘(’ token
 2927 |                                         { "ALWAYS", uint32_t(pass_stencil_func::always) },
      |                                                             ^
../src/reshade/effect_parser.cpp:2927:62: error: ‘pass_stencil_func’ is not a class, namespace, or enumeration
 2927 |                                         { "ALWAYS", uint32_t(pass_stencil_func::always) },
      |                                                              ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2928:62: error: ‘primitive_topology’ was not declared in this scope
 2928 |                                         { "POINTS", uint32_t(primitive_topology::point_list) },
      |                                                              ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2929:64: error: expected primary-expression before ‘(’ token
 2929 |                                         { "POINTLIST", uint32_t(primitive_topology::point_list) },
      |                                                                ^
../src/reshade/effect_parser.cpp:2929:65: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2929 |                                         { "POINTLIST", uint32_t(primitive_topology::point_list) },
      |                                                                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2930:60: error: expected primary-expression before ‘(’ token
 2930 |                                         { "LINES", uint32_t(primitive_topology::line_list) },
      |                                                            ^
../src/reshade/effect_parser.cpp:2930:61: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2930 |                                         { "LINES", uint32_t(primitive_topology::line_list) },
      |                                                             ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2931:63: error: expected primary-expression before ‘(’ token
 2931 |                                         { "LINELIST", uint32_t(primitive_topology::line_list) },
      |                                                               ^
../src/reshade/effect_parser.cpp:2931:64: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2931 |                                         { "LINELIST", uint32_t(primitive_topology::line_list) },
      |                                                                ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2932:64: error: expected primary-expression before ‘(’ token
 2932 |                                         { "LINESTRIP", uint32_t(primitive_topology::line_strip) },
      |                                                                ^
../src/reshade/effect_parser.cpp:2932:65: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2932 |                                         { "LINESTRIP", uint32_t(primitive_topology::line_strip) },
      |                                                                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2933:64: error: expected primary-expression before ‘(’ token
 2933 |                                         { "TRIANGLES", uint32_t(primitive_topology::triangle_list) },
      |                                                                ^
../src/reshade/effect_parser.cpp:2933:65: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2933 |                                         { "TRIANGLES", uint32_t(primitive_topology::triangle_list) },
      |                                                                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2934:67: error: expected primary-expression before ‘(’ token
 2934 |                                         { "TRIANGLELIST", uint32_t(primitive_topology::triangle_list) },
      |                                                                   ^
../src/reshade/effect_parser.cpp:2934:68: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2934 |                                         { "TRIANGLELIST", uint32_t(primitive_topology::triangle_list) },
      |                                                                    ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2935:68: error: expected primary-expression before ‘(’ token
 2935 |                                         { "TRIANGLESTRIP", uint32_t(primitive_topology::triangle_strip) },
      |                                                                    ^
../src/reshade/effect_parser.cpp:2935:69: error: ‘primitive_topology’ is not a class, namespace, or enumeration
 2935 |                                         { "TRIANGLESTRIP", uint32_t(primitive_topology::triangle_strip) },
      |                                                                     ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2936:33: error: could not convert ‘{{"NONE", 0}, {"ZERO", 0}, {"ONE", 1}, {"ADD", <expression error>}, {"SUBTRACT", <expression error>}, {"REVSUBTRACT", <expression error>}, {"MIN", <expression error>}, {"MAX", <expression error>}, {"SRCCOLOR", <expression error>}, {"SRCALPHA", <expression error>}, {"INVSRCCOLOR", <expression error>}, {"INVSRCALPHA", <expression error>}, {"DESTCOLOR", <expression error>}, {"DESTALPHA", <expression error>}, {"INVDESTCOLOR", <expression error>}, {"INVDESTALPHA", <expression error>}, {"KEEP", <expression error>}, {"REPLACE", <expression error>}, {"INVERT", <expression error>}, {"INCR", <expression error>}, {"INCRSAT", <expression error>}, {"DECR", <expression error>}, {"DECRSAT", <expression error>}, {"NEVER", <expression error>}, {"EQUAL", <expression error>}, {"NEQUAL", <expression error>}, {"NOTEQUAL", <expression error>}, {"LESS", <expression error>}, {"GREATER", <expression error>}, {"LEQUAL", <expression error>}, {"LESSEQUAL", <expression error>}, {"GEQUAL", <expression error>}, {"GREATEREQUAL", <expression error>}, {"ALWAYS", <expression error>}, {"POINTS", <expression error>}, {"POINTLIST", <expression error>}, {"LINES", <expression error>}, {"LINELIST", <expression error>}, {"LINESTRIP", <expression error>}, {"TRIANGLES", <expression error>}, {"TRIANGLELIST", <expression error>}, {"TRIANGLESTRIP", <expression error>}}’ from ‘<brace-enclosed initializer list>’ to ‘const std::unordered_map<std::__cxx11::basic_string<char>, unsigned int>’
 2936 |                                 };
      |                                 ^
      |                                 |
      |                                 <brace-enclosed initializer list>
../src/reshade/effect_parser.cpp:2941:76: error: call of overloaded ‘reset_to_rvalue_constant(reshadefx::location&, const unsigned int&)’ is ambiguous
 2941 |                                         expression.reset_to_rvalue_constant(_token.location, it->second);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:165:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, bool)’
  165 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, bool data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:166:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, float)’
  166 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, float data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: candidate: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2954:63: error: ‘t_uint’ is not a member of ‘reshadefx::type’
 2954 |                         expression.add_cast_operation({ type::t_uint, 1, 1 });
      |                                                               ^~~~~~
../src/reshade/effect_parser.cpp:2954:54: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 2954 |                         expression.add_cast_operation({ type::t_uint, 1, 1 });
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:176:64: note:   initializing argument 1 of ‘void reshadefx::expression::add_cast_operation(const reshadefx::type&)’
  176 |                 void add_cast_operation(const reshadefx::type &type);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_parser.cpp:2955:72: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 2955 |                         const unsigned int value = expression.constant.as_uint[0];
      |                                                                        ^~~~~~~
../src/reshade/effect_parser.cpp:2958:38: error: ‘struct reshadefx::pass_info’ has no member named ‘srgb_write_enable’
 2958 |                                 info.srgb_write_enable = value != 0;
      |                                      ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2960:38: error: ‘struct reshadefx::pass_info’ has no member named ‘blend_enable’
 2960 |                                 info.blend_enable = value != 0;
      |                                      ^~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2962:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_enable’
 2962 |                                 info.stencil_enable = value != 0;
      |                                      ^~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2964:38: error: ‘struct reshadefx::pass_info’ has no member named ‘clear_render_targets’
 2964 |                                 info.clear_render_targets = value != 0;
      |                                      ^~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2966:38: error: ‘struct reshadefx::pass_info’ has no member named ‘color_write_mask’
 2966 |                                 info.color_write_mask = value & 0xFF;
      |                                      ^~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2968:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_read_mask’
 2968 |                                 info.stencil_read_mask = value & 0xFF;
      |                                      ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2970:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_write_mask’
 2970 |                                 info.stencil_write_mask = value & 0xFF;
      |                                      ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2972:38: error: ‘struct reshadefx::pass_info’ has no member named ‘blend_op’
 2972 |                                 info.blend_op = static_cast<pass_blend_op>(value);
      |                                      ^~~~~~~~
../src/reshade/effect_parser.cpp:2972:61: error: ‘pass_blend_op’ does not name a type
 2972 |                                 info.blend_op = static_cast<pass_blend_op>(value);
      |                                                             ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2974:38: error: ‘struct reshadefx::pass_info’ has no member named ‘blend_op_alpha’
 2974 |                                 info.blend_op_alpha = static_cast<pass_blend_op>(value);
      |                                      ^~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2974:67: error: ‘pass_blend_op’ does not name a type
 2974 |                                 info.blend_op_alpha = static_cast<pass_blend_op>(value);
      |                                                                   ^~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2976:38: error: ‘struct reshadefx::pass_info’ has no member named ‘src_blend’
 2976 |                                 info.src_blend = static_cast<pass_blend_func>(value);
      |                                      ^~~~~~~~~
../src/reshade/effect_parser.cpp:2976:62: error: ‘pass_blend_func’ does not name a type
 2976 |                                 info.src_blend = static_cast<pass_blend_func>(value);
      |                                                              ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2978:38: error: ‘struct reshadefx::pass_info’ has no member named ‘src_blend_alpha’
 2978 |                                 info.src_blend_alpha = static_cast<pass_blend_func>(value);
      |                                      ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2978:68: error: ‘pass_blend_func’ does not name a type
 2978 |                                 info.src_blend_alpha = static_cast<pass_blend_func>(value);
      |                                                                    ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2980:38: error: ‘struct reshadefx::pass_info’ has no member named ‘dest_blend’
 2980 |                                 info.dest_blend = static_cast<pass_blend_func>(value);
      |                                      ^~~~~~~~~~
../src/reshade/effect_parser.cpp:2980:63: error: ‘pass_blend_func’ does not name a type
 2980 |                                 info.dest_blend = static_cast<pass_blend_func>(value);
      |                                                               ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2982:38: error: ‘struct reshadefx::pass_info’ has no member named ‘dest_blend_alpha’
 2982 |                                 info.dest_blend_alpha = static_cast<pass_blend_func>(value);
      |                                      ^~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2982:69: error: ‘pass_blend_func’ does not name a type
 2982 |                                 info.dest_blend_alpha = static_cast<pass_blend_func>(value);
      |                                                                     ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2984:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_comparison_func’
 2984 |                                 info.stencil_comparison_func = static_cast<pass_stencil_func>(value);
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2984:76: error: ‘pass_stencil_func’ does not name a type
 2984 |                                 info.stencil_comparison_func = static_cast<pass_stencil_func>(value);
      |                                                                            ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2986:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_reference_value’
 2986 |                                 info.stencil_reference_value = value;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2988:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_op_pass’
 2988 |                                 info.stencil_op_pass = static_cast<pass_stencil_op>(value);
      |                                      ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2988:68: error: ‘pass_stencil_op’ does not name a type
 2988 |                                 info.stencil_op_pass = static_cast<pass_stencil_op>(value);
      |                                                                    ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2990:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_op_fail’
 2990 |                                 info.stencil_op_fail = static_cast<pass_stencil_op>(value);
      |                                      ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2990:68: error: ‘pass_stencil_op’ does not name a type
 2990 |                                 info.stencil_op_fail = static_cast<pass_stencil_op>(value);
      |                                                                    ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2992:38: error: ‘struct reshadefx::pass_info’ has no member named ‘stencil_op_depth_fail’
 2992 |                                 info.stencil_op_depth_fail = static_cast<pass_stencil_op>(value);
      |                                      ^~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2992:74: error: ‘pass_stencil_op’ does not name a type
 2992 |                                 info.stencil_op_depth_fail = static_cast<pass_stencil_op>(value);
      |                                                                          ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2994:38: error: ‘struct reshadefx::pass_info’ has no member named ‘num_vertices’
 2994 |                                 info.num_vertices = value;
      |                                      ^~~~~~~~~~~~
../src/reshade/effect_parser.cpp:2996:38: error: ‘struct reshadefx::pass_info’ has no member named ‘topology’
 2996 |                                 info.topology = static_cast<primitive_topology>(value);
      |                                      ^~~~~~~~
../src/reshade/effect_parser.cpp:2996:61: error: ‘primitive_topology’ does not name a type
 2996 |                                 info.topology = static_cast<primitive_topology>(value);
      |                                                             ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:3041:74: error: ‘q_in’ is not a member of ‘reshadefx::type’
 3041 |                                                 if (param.type.has(type::q_in))
      |                                                                          ^~~~
../src/reshade/effect_parser.cpp:3047:63: error: ‘q_out’ is not a member of ‘reshadefx::type’
 3047 |                                 else if (param.type.has(type::q_out))
      |                                                               ^~~~~
../src/reshade/effect_parser.cpp:3069:74: error: ‘q_in’ is not a member of ‘reshadefx::type’
 3069 |                                                 if (param.type.has(type::q_in))
      |                                                                          ^~~~
../src/reshade/effect_parser.cpp:3075:63: error: ‘q_in’ is not a member of ‘reshadefx::type’
 3075 |                                 else if (param.type.has(type::q_in))
      |                                                               ^~~~
../src/reshade/effect_parser.cpp:3080:108: error: ‘q_linear’ is not a member of ‘reshadefx::type’
 3080 |                                         else if (((it->second.qualifiers ^ param.type.qualifiers) & (type::q_linear | type::q_noperspective | type::q_centroid | type::q_nointerpolation)) != 0)
      |                                                                                                            ^~~~~~~~
../src/reshade/effect_parser.cpp:3080:125: error: ‘q_noperspective’ is not a member of ‘reshadefx::type’
 3080 |                                         else if (((it->second.qualifiers ^ param.type.qualifiers) & (type::q_linear | type::q_noperspective | type::q_centroid | type::q_nointerpolation)) != 0)
      |                                                                                                                             ^~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:3080:149: error: ‘q_centroid’ is not a member of ‘reshadefx::type’
 3080 |                                         else if (((it->second.qualifiers ^ param.type.qualifiers) & (type::q_linear | type::q_noperspective | type::q_centroid | type::q_nointerpolation)) != 0)
      |                                                                                                                                                     ^~~~~~~~~~
../src/reshade/effect_parser.cpp:3080:168: error: ‘q_nointerpolation’ is not a member of ‘reshadefx::type’
 3080 |                                         else if (((it->second.qualifiers ^ param.type.qualifiers) & (type::q_linear | type::q_noperspective | type::q_centroid | type::q_nointerpolation)) != 0)
      |                                                                                                                                                                        ^~~~~~~~~~~~~~~~~
../src/reshade/effect_parser.cpp:3088:26: error: ‘struct reshadefx::pass_info’ has no member named ‘srgb_write_enable’
 3088 |                 if (info.srgb_write_enable && !targets_support_srgb)
      |                          ^~~~~~~~~~~~~~~~~
In file included from ../src/reshade/effect_parser.cpp:8:
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> [with auto:19 = reshadefx::struct_info]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, std::vector<reshadefx::struct_info> >; _Predicate = reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)>]’
../src/reshade/effect_codegen.hpp:270:24:   required from here
../src/reshade/effect_codegen.hpp:271:66: error: ‘const struct reshadefx::struct_info’ has no member named ‘definition’
  271 |                                 [id](const auto &it) { return it.definition == id; });
      |                                                               ~~~^~~~~~~~~~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> [with auto:20 = reshadefx::texture_info]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, std::vector<reshadefx::texture_info> >; _Predicate = reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)>]’
../src/reshade/effect_codegen.hpp:280:24:   required from here
../src/reshade/effect_codegen.hpp:281:66: error: ‘const struct reshadefx::texture_info’ has no member named ‘id’
  281 |                                 [id](const auto &it) { return it.id == id; });
      |                                                               ~~~^~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> [with auto:21 = std::unique_ptr<reshadefx::function_info>]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<std::unique_ptr<reshadefx::function_info>*, std::vector<std::unique_ptr<reshadefx::function_info> > >; _Predicate = reshadefx::codegen::find_function(id)::<lambda(const auto:21&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = reshadefx::codegen::find_function(id)::<lambda(const auto:21&)>]’
../src/reshade/effect_codegen.hpp:290:24:   required from here
../src/reshade/effect_codegen.hpp:291:67: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
  291 |                                 [id](const auto &it) { return it->definition == id; })->get();
      |                                                               ~~~~^~~~~~~~~~
[12/57] g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o -MF src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o.d -o src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o -c ../src/reshade/effect_codegen_spirv.cpp
FAILED: src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o 
g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o -MF src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o.d -o src/reshade/libreshade.a.p/effect_codegen_spirv.cpp.o -c ../src/reshade/effect_codegen_spirv.cpp
In file included from ../src/reshade/effect_module.hpp:8,
                 from ../src/reshade/effect_symbol_table.hpp:8,
                 from ../src/reshade/effect_parser.hpp:8,
                 from ../src/reshade/effect_codegen_spirv.cpp:6:
../src/reshade/effect_expression.hpp:17:22: error: use of enum ‘datatype’ without previous declaration
   17 |                 enum datatype : uint8_t
      |                      ^~~~~~~~
../src/reshade/effect_expression.hpp:17:33: error: ‘uint8_t’ was not declared in this scope
   17 |                 enum datatype : uint8_t
      |                                 ^~~~~~~
../src/reshade/effect_expression.hpp:9:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    8 | #include "effect_token.hpp"
  +++ |+#include <cstdint>
    9 | 
../src/reshade/effect_expression.hpp:18:17: error: default member initializer for unnamed bit-field
   18 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:30:22: error: use of enum ‘qualifier’ without previous declaration
   30 |                 enum qualifier : uint32_t
      |                      ^~~~~~~~~
../src/reshade/effect_expression.hpp:30:34: error: ‘uint32_t’ was not declared in this scope
   30 |                 enum qualifier : uint32_t
      |                                  ^~~~~~~~
../src/reshade/effect_expression.hpp:30:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:31:17: error: default member initializer for unnamed bit-field
   31 |                 {
      |                 ^
../src/reshade/effect_expression.hpp:62:26: error: ‘qualifier’ has not been declared
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                          ^~~~~~~~~
../src/reshade/effect_expression.hpp:89:17: error: ‘datatype’ does not name a type
   89 |                 datatype base = t_void; // Underlying base type ('int', 'float', ...)
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: error: ‘uint32_t’ does not name a type
   94 |                 uint32_t definition = 0; // ID of the matching struct if this is a struct type
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:94:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::has(int) const’:
../src/reshade/effect_expression.hpp:62:71: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   62 |                 bool has(qualifier x) const { return (qualifiers & x) == x; }
      |                                                      ~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_signed() const’:
../src/reshade/effect_expression.hpp:67:49: error: ‘base’ was not declared in this scope
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:67:57: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                         ^~~~~
      |                                                         u_int
../src/reshade/effect_expression.hpp:67:74: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   67 |                 bool is_signed() const { return base == t_int || base == t_float; }
      |                                                                          ^~~~~~~
      |                                                                          float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_void() const’:
../src/reshade/effect_expression.hpp:69:47: error: ‘base’ was not declared in this scope
   69 |                 bool is_void() const { return base == t_void; }
      |                                               ^~~~
../src/reshade/effect_expression.hpp:69:55: error: ‘t_void’ was not declared in this scope; did you mean ‘is_void’?
   69 |                 bool is_void() const { return base == t_void; }
      |                                                       ^~~~~~
      |                                                       is_void
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_boolean() const’:
../src/reshade/effect_expression.hpp:70:50: error: ‘base’ was not declared in this scope
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:70:58: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   70 |                 bool is_boolean() const { return base == t_bool; }
      |                                                          ^~~~~~
      |                                                          bool
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_integral() const’:
../src/reshade/effect_expression.hpp:71:51: error: ‘base’ was not declared in this scope
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:71:59: error: ‘t_bool’ was not declared in this scope; did you mean ‘bool’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                           ^~~~~~
      |                                                           bool
../src/reshade/effect_expression.hpp:71:77: error: ‘t_int’ was not declared in this scope; did you mean ‘u_int’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                             ^~~~~
      |                                                                             u_int
../src/reshade/effect_expression.hpp:71:94: error: ‘t_uint’ was not declared in this scope; did you mean ‘uint’?
   71 |                 bool is_integral() const { return base == t_bool || base == t_int || base == t_uint; }
      |                                                                                              ^~~~~~
      |                                                                                              uint
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_floating_point() const’:
../src/reshade/effect_expression.hpp:72:57: error: ‘base’ was not declared in this scope
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                         ^~~~
../src/reshade/effect_expression.hpp:72:65: error: ‘t_float’ was not declared in this scope; did you mean ‘float’?
   72 |                 bool is_floating_point() const { return base == t_float; }
      |                                                                 ^~~~~~~
      |                                                                 float
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_struct() const’:
../src/reshade/effect_expression.hpp:73:49: error: ‘base’ was not declared in this scope
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                 ^~~~
../src/reshade/effect_expression.hpp:73:57: error: ‘t_struct’ was not declared in this scope; did you mean ‘is_struct’?
   73 |                 bool is_struct() const { return base == t_struct; }
      |                                                         ^~~~~~~~
      |                                                         is_struct
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_texture() const’:
../src/reshade/effect_expression.hpp:74:50: error: ‘base’ was not declared in this scope
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:74:58: error: ‘t_texture’ was not declared in this scope; did you mean ‘is_texture’?
   74 |                 bool is_texture() const { return base == t_texture; }
      |                                                          ^~~~~~~~~
      |                                                          is_texture
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_sampler() const’:
../src/reshade/effect_expression.hpp:75:50: error: ‘base’ was not declared in this scope
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                  ^~~~
../src/reshade/effect_expression.hpp:75:58: error: ‘t_sampler’ was not declared in this scope; did you mean ‘is_sampler’?
   75 |                 bool is_sampler() const { return base == t_sampler; }
      |                                                          ^~~~~~~~~
      |                                                          is_sampler
../src/reshade/effect_expression.hpp: In member function ‘bool reshadefx::type::is_function() const’:
../src/reshade/effect_expression.hpp:76:51: error: ‘base’ was not declared in this scope
   76 |                 bool is_function() const { return base == t_function; }
      |                                                   ^~~~
../src/reshade/effect_expression.hpp:76:59: error: ‘t_function’ was not declared in this scope; did you mean ‘is_function’?
   76 |                 bool is_function() const { return base == t_function; }
      |                                                           ^~~~~~~~~~
      |                                                           is_function
../src/reshade/effect_expression.hpp: In function ‘bool reshadefx::operator==(const type&, const type&)’:
../src/reshade/effect_expression.hpp:82:36: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                    ^~~~
../src/reshade/effect_expression.hpp:82:48: error: ‘const struct reshadefx::type’ has no member named ‘base’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                ^~~~
../src/reshade/effect_expression.hpp:82:148: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                    ^~~~~~~~~~
../src/reshade/effect_expression.hpp:82:166: error: ‘const struct reshadefx::type’ has no member named ‘definition’
   82 |                         return lhs.base == rhs.base && lhs.rows == rhs.rows && lhs.cols == rhs.cols && lhs.array_length == rhs.array_length && lhs.definition == rhs.definition;
      |                                                                                                                                                                      ^~~~~~~~~~
../src/reshade/effect_expression.hpp: At global scope:
../src/reshade/effect_expression.hpp:106:25: error: ‘uint32_t’ does not name a type
  106 |                         uint32_t as_uint[16];
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:106:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:133:25: error: ‘uint32_t’ does not name a type
  133 |                         uint32_t index = 0;
      |                         ^~~~~~~~
../src/reshade/effect_expression.hpp:133:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:137:17: error: ‘uint32_t’ does not name a type
  137 |                 uint32_t base = 0;
      |                 ^~~~~~~~
../src/reshade/effect_expression.hpp:137:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_expression.hpp:151:70: error: ‘uint32_t’ has not been declared
  151 |                 void reset_to_lvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:158:70: error: ‘uint32_t’ has not been declared
  158 |                 void reset_to_rvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                      ^~~~~~~~
../src/reshade/effect_expression.hpp:168:79: error: ‘uint32_t’ has not been declared
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                                                                               ^~~~~~~~
../src/reshade/effect_expression.hpp:168:22: error: ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int)’ cannot be overloaded with ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  168 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, uint32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:167:22: note: previous declaration ‘void reshadefx::expression::reset_to_rvalue_constant(const reshadefx::location&, int32_t)’
  167 |                 void reset_to_rvalue_constant(const reshadefx::location &loc, int32_t data);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:187:47: error: ‘uint32_t’ has not been declared
  187 |                 void add_dynamic_index_access(uint32_t index_expression);
      |                                               ^~~~~~~~
../src/reshade/effect_module.hpp:62:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   62 |         enum class pass_blend_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:62:34: error: found ‘:’ in nested-name-specifier, expected ‘::’
   62 |         enum class pass_blend_op : uint8_t
      |                                  ^
      |                                  ::
../src/reshade/effect_module.hpp:62:20: error: ‘pass_blend_op’ has not been declared
   62 |         enum class pass_blend_op : uint8_t
      |                    ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:63:9: error: expected unqualified-id before ‘{’ token
   63 |         {
      |         ^
../src/reshade/effect_module.hpp:74:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   74 |         enum class pass_blend_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:74:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   74 |         enum class pass_blend_func : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:74:20: error: ‘pass_blend_func’ has not been declared
   74 |         enum class pass_blend_func : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:75:9: error: expected unqualified-id before ‘{’ token
   75 |         {
      |         ^
../src/reshade/effect_module.hpp:91:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   91 |         enum class pass_stencil_op : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:91:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   91 |         enum class pass_stencil_op : uint8_t
      |                                    ^
      |                                    ::
../src/reshade/effect_module.hpp:91:20: error: ‘pass_stencil_op’ has not been declared
   91 |         enum class pass_stencil_op : uint8_t
      |                    ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:92:9: error: expected unqualified-id before ‘{’ token
   92 |         {
      |         ^
../src/reshade/effect_module.hpp:106:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  106 |         enum class pass_stencil_func : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:106:38: error: found ‘:’ in nested-name-specifier, expected ‘::’
  106 |         enum class pass_stencil_func : uint8_t
      |                                      ^
      |                                      ::
../src/reshade/effect_module.hpp:106:20: error: ‘pass_stencil_func’ has not been declared
  106 |         enum class pass_stencil_func : uint8_t
      |                    ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:107:9: error: expected unqualified-id before ‘{’ token
  107 |         {
      |         ^
../src/reshade/effect_module.hpp:121:14: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  121 |         enum class primitive_topology : uint8_t
      |         ~~~~ ^~~~~
      |              -----
../src/reshade/effect_module.hpp:121:39: error: found ‘:’ in nested-name-specifier, expected ‘::’
  121 |         enum class primitive_topology : uint8_t
      |                                       ^
      |                                       ::
../src/reshade/effect_module.hpp:121:20: error: ‘primitive_topology’ has not been declared
  121 |         enum class primitive_topology : uint8_t
      |                    ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:122:9: error: expected unqualified-id before ‘{’ token
  122 |         {
      |         ^
../src/reshade/effect_module.hpp:138:17: error: ‘uint32_t’ does not name a type
  138 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:9:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    8 | #include "effect_expression.hpp"
  +++ |+#include <cstdint>
    9 | 
../src/reshade/effect_module.hpp:150:17: error: ‘uint32_t’ does not name a type
  150 |                 uint32_t definition = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:150:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:168:17: error: ‘uint32_t’ does not name a type
  168 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:168:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:169:17: error: ‘uint32_t’ does not name a type
  169 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:169:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:173:17: error: ‘uint32_t’ does not name a type
  173 |                 uint32_t width = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:173:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:174:17: error: ‘uint32_t’ does not name a type
  174 |                 uint32_t height = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:174:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:175:17: error: ‘uint32_t’ does not name a type
  175 |                 uint32_t levels = 1;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:175:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:184:17: error: ‘uint32_t’ does not name a type
  184 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:184:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:185:17: error: ‘uint32_t’ does not name a type
  185 |                 uint32_t binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:185:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:186:17: error: ‘uint32_t’ does not name a type
  186 |                 uint32_t texture_binding = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:186:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:197:17: error: ‘uint8_t’ does not name a type
  197 |                 uint8_t srgb = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:197:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:207:17: error: ‘uint32_t’ does not name a type
  207 |                 uint32_t size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:207:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:208:17: error: ‘uint32_t’ does not name a type
  208 |                 uint32_t offset = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:208:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:228:17: error: ‘uint32_t’ does not name a type
  228 |                 uint32_t definition;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:228:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:244:17: error: ‘uint8_t’ does not name a type
  244 |                 uint8_t clear_render_targets = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:244:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:245:17: error: ‘uint8_t’ does not name a type
  245 |                 uint8_t srgb_write_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:245:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:246:17: error: ‘uint8_t’ does not name a type
  246 |                 uint8_t blend_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:246:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:247:17: error: ‘uint8_t’ does not name a type
  247 |                 uint8_t stencil_enable = false;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:247:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:248:17: error: ‘uint8_t’ does not name a type
  248 |                 uint8_t color_write_mask = 0xF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:248:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:249:17: error: ‘uint8_t’ does not name a type
  249 |                 uint8_t stencil_read_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:249:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:250:17: error: ‘uint8_t’ does not name a type
  250 |                 uint8_t stencil_write_mask = 0xFF;
      |                 ^~~~~~~
../src/reshade/effect_module.hpp:250:17: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:251:17: error: ‘pass_blend_op’ does not name a type
  251 |                 pass_blend_op blend_op = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:252:17: error: ‘pass_blend_op’ does not name a type
  252 |                 pass_blend_op blend_op_alpha = pass_blend_op::add;
      |                 ^~~~~~~~~~~~~
../src/reshade/effect_module.hpp:253:17: error: ‘pass_blend_func’ does not name a type
  253 |                 pass_blend_func src_blend = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:254:17: error: ‘pass_blend_func’ does not name a type
  254 |                 pass_blend_func dest_blend = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:255:17: error: ‘pass_blend_func’ does not name a type
  255 |                 pass_blend_func src_blend_alpha = pass_blend_func::one;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:256:17: error: ‘pass_blend_func’ does not name a type
  256 |                 pass_blend_func dest_blend_alpha = pass_blend_func::zero;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:257:17: error: ‘pass_stencil_func’ does not name a type
  257 |                 pass_stencil_func stencil_comparison_func = pass_stencil_func::always;
      |                 ^~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:258:17: error: ‘uint32_t’ does not name a type
  258 |                 uint32_t stencil_reference_value = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:258:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:259:17: error: ‘pass_stencil_op’ does not name a type
  259 |                 pass_stencil_op stencil_op_pass = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:260:17: error: ‘pass_stencil_op’ does not name a type
  260 |                 pass_stencil_op stencil_op_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:261:17: error: ‘pass_stencil_op’ does not name a type
  261 |                 pass_stencil_op stencil_op_depth_fail = pass_stencil_op::keep;
      |                 ^~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:262:17: error: ‘uint32_t’ does not name a type
  262 |                 uint32_t num_vertices = 3;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:262:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:263:17: error: ‘primitive_topology’ does not name a type
  263 |                 primitive_topology topology = primitive_topology::triangle_list;
      |                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:264:17: error: ‘uint32_t’ does not name a type
  264 |                 uint32_t viewport_width = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:264:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:265:17: error: ‘uint32_t’ does not name a type
  265 |                 uint32_t viewport_height = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:265:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:29: error: ‘uint32_t’ was not declared in this scope
  284 |                 std::vector<uint32_t> spirv;
      |                             ^~~~~~~~
../src/reshade/effect_module.hpp:284:29: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:284:37: error: template argument 1 is invalid
  284 |                 std::vector<uint32_t> spirv;
      |                                     ^
../src/reshade/effect_module.hpp:284:37: error: template argument 2 is invalid
../src/reshade/effect_module.hpp:284:22: error: ‘<expression error>’ in namespace ‘std’ does not name a type
  284 |                 std::vector<uint32_t> spirv;
      |                      ^~~~~~~~~~~~~~~~
../src/reshade/effect_module.hpp:292:17: error: ‘uint32_t’ does not name a type
  292 |                 uint32_t total_uniform_size = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:292:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:293:17: error: ‘uint32_t’ does not name a type
  293 |                 uint32_t num_sampler_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:293:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_module.hpp:294:17: error: ‘uint32_t’ does not name a type
  294 |                 uint32_t num_texture_bindings = 0;
      |                 ^~~~~~~~
../src/reshade/effect_module.hpp:294:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
../src/reshade/effect_symbol_table.hpp:41:17: error: ‘uint32_t’ does not name a type
   41 |                 uint32_t id = 0;
      |                 ^~~~~~~~
../src/reshade/effect_symbol_table.hpp:10:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    9 | #include <unordered_map> // Used for symbol lookup table
  +++ |+#include <cstdint>
   10 | 
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual void codegen_spirv::write_result(reshadefx::module&)’:
../src/reshade/effect_codegen_spirv.cpp:236:75: error: ‘t_struct’ is not a member of ‘reshadefx::type’
  236 |                         define_variable(_global_ubo_variable, {}, { type::t_struct, 0, 0, type::q_uniform, 0, _global_ubo_type }, "$Globals", spv::StorageClassUniform);
      |                                                                           ^~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:236:97: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  236 |                         define_variable(_global_ubo_variable, {}, { type::t_struct, 0, 0, type::q_uniform, 0, _global_ubo_type }, "$Globals", spv::StorageClassUniform);
      |                                                                                                 ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:236:40: error: no matching function for call to ‘codegen_spirv::define_variable(reshadefx::codegen::id&, <brace-enclosed initializer list>, <brace-enclosed initializer list>, const char [9], spv::StorageClass)’
  236 |                         define_variable(_global_ubo_variable, {}, { type::t_struct, 0, 0, type::q_uniform, 0, _global_ubo_type }, "$Globals", spv::StorageClassUniform);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:719:14: note: candidate: ‘virtual reshadefx::codegen::id codegen_spirv::define_variable(const reshadefx::location&, const reshadefx::type&, std::string, bool, reshadefx::codegen::id)’
  719 |         id   define_variable(const location &loc, const type &type, std::string name, bool global, id initializer_value) override
      |              ^~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:719:46: note:   no known conversion for argument 1 from ‘reshadefx::codegen::id’ {aka ‘unsigned int’} to ‘const reshadefx::location&’
  719 |         id   define_variable(const location &loc, const type &type, std::string name, bool global, id initializer_value) override
      |                              ~~~~~~~~~~~~~~~~^~~
../src/reshade/effect_codegen_spirv.cpp:725:14: note: candidate: ‘void codegen_spirv::define_variable(reshadefx::codegen::id, const reshadefx::location&, const reshadefx::type&, const char*, spv::StorageClass, spv::Id)’
  725 |         void define_variable(id id, const location &loc, const type &type, const char *name, spv::StorageClass storage, spv::Id initializer_value = 0)
      |              ^~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:725:70: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  725 |         void define_variable(id id, const location &loc, const type &type, const char *name, spv::StorageClass storage, spv::Id initializer_value = 0)
      |                                                          ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:242:24: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  242 |                 module.spirv.push_back(spv::MagicNumber);
      |                        ^~~~~
../src/reshade/effect_codegen_spirv.cpp:243:24: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  243 |                 module.spirv.push_back(0x10300); // Force SPIR-V 1.3
      |                        ^~~~~
../src/reshade/effect_codegen_spirv.cpp:244:24: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  244 |                 module.spirv.push_back(0u); // Generator magic number, see https://www.khronos.org/registry/spir-v/api/spir-v.xml
      |                        ^~~~~
../src/reshade/effect_codegen_spirv.cpp:245:24: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  245 |                 module.spirv.push_back(_next_id); // Maximum ID
      |                        ^~~~~
../src/reshade/effect_codegen_spirv.cpp:246:24: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  246 |                 module.spirv.push_back(0u); // Reserved for instruction schema
      |                        ^~~~~
../src/reshade/effect_codegen_spirv.cpp:251:39: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  251 |                         .write(module.spirv);
      |                                       ^~~~~
../src/reshade/effect_codegen_spirv.cpp:256:47: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  256 |                                 .write(module.spirv);
      |                                               ^~~~~
../src/reshade/effect_codegen_spirv.cpp:261:39: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  261 |                         .write(module.spirv);
      |                                       ^~~~~
../src/reshade/effect_codegen_spirv.cpp:267:39: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  267 |                         .write(module.spirv);
      |                                       ^~~~~
../src/reshade/effect_codegen_spirv.cpp:271:43: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  271 |                         node.write(module.spirv);
      |                                           ^~~~~
../src/reshade/effect_codegen_spirv.cpp:275:43: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  275 |                         node.write(module.spirv);
      |                                           ^~~~~
../src/reshade/effect_codegen_spirv.cpp:280:39: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  280 |                         .write(module.spirv);
      |                                       ^~~~~
../src/reshade/effect_codegen_spirv.cpp:286:51: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  286 |                                 node.write(module.spirv);
      |                                                   ^~~~~
../src/reshade/effect_codegen_spirv.cpp:288:51: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  288 |                                 node.write(module.spirv);
      |                                                   ^~~~~
../src/reshade/effect_codegen_spirv.cpp:293:43: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  293 |                         node.write(module.spirv);
      |                                           ^~~~~
../src/reshade/effect_codegen_spirv.cpp:297:43: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  297 |                         node.write(module.spirv);
      |                                           ^~~~~
../src/reshade/effect_codegen_spirv.cpp:299:43: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  299 |                         node.write(module.spirv);
      |                                           ^~~~~
../src/reshade/effect_codegen_spirv.cpp:308:51: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  308 |                                 node.write(module.spirv);
      |                                                   ^~~~~
../src/reshade/effect_codegen_spirv.cpp:311:79: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  311 |                         function.definition.instructions.front().write(module.spirv);
      |                                                                               ^~~~~
../src/reshade/effect_codegen_spirv.cpp:315:51: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  315 |                                 node.write(module.spirv);
      |                                                   ^~~~~
../src/reshade/effect_codegen_spirv.cpp:317:50: error: ‘struct reshadefx::module’ has no member named ‘spirv’
  317 |                                 it->write(module.spirv);
      |                                                  ^~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’:
../src/reshade/effect_codegen_spirv.cpp:394:38: error: ‘const struct reshadefx::type’ has no member named ‘base’
  394 |                         switch (info.base)
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:396:36: error: ‘t_void’ is not a member of ‘reshadefx::type’
  396 |                         case type::t_void:
      |                                    ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:400:36: error: ‘t_bool’ is not a member of ‘reshadefx::type’
  400 |                         case type::t_bool:
      |                                    ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:404:36: error: ‘t_int’ is not a member of ‘reshadefx::type’
  404 |                         case type::t_int:
      |                                    ^~~~~
../src/reshade/effect_codegen_spirv.cpp:408:36: error: ‘t_uint’ is not a member of ‘reshadefx::type’
  408 |                         case type::t_uint:
      |                                    ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:412:36: error: ‘t_float’ is not a member of ‘reshadefx::type’
  412 |                         case type::t_float:
      |                                    ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:416:36: error: ‘t_struct’ is not a member of ‘reshadefx::type’
  416 |                         case type::t_struct:
      |                                    ^~~~~~~~
In file included from /usr/include/c++/13/cassert:44,
                 from ../src/reshade/effect_codegen_spirv.cpp:8:
../src/reshade/effect_codegen_spirv.cpp:417:81: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  417 |                                 assert(info.rows == 0 && info.cols == 0 && info.definition != 0);
      |                                                                                 ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:418:45: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  418 |                                 type = info.definition;
      |                                             ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:420:36: error: ‘t_texture’ is not a member of ‘reshadefx::type’
  420 |                         case type::t_texture:
      |                                    ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:422:61: error: ‘t_float’ is not a member of ‘reshadefx::type’
  422 |                                 type = convert_type({ type::t_float, 1, 1 });
      |                                                             ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:422:52: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
  422 |                                 type = convert_type({ type::t_float, 1, 1 });
      |                                        ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:432:36: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
  432 |                         case type::t_sampler:
      |                                    ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:434:61: error: ‘t_texture’ is not a member of ‘reshadefx::type’
  434 |                                 type = convert_type({ type::t_texture, 0, 0, type::q_uniform });
      |                                                             ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:434:84: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  434 |                                 type = convert_type({ type::t_texture, 0, 0, type::q_uniform });
      |                                                                                    ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:434:52: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
  434 |                                 type = convert_type({ type::t_texture, 0, 0, type::q_uniform });
      |                                        ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::define_struct(const reshadefx::location&, reshadefx::struct_info&)’:
../src/reshade/effect_codegen_spirv.cpp:540:22: error: ‘struct reshadefx::struct_info’ has no member named ‘definition’
  540 |                 info.definition = add_instruction(spv::OpTypeStruct, 0, _types_and_constants)
      |                      ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:544:39: error: ‘struct reshadefx::struct_info’ has no member named ‘definition’
  544 |                         add_name(info.definition, info.unique_name.c_str());
      |                                       ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:547:46: error: ‘struct reshadefx::struct_info’ has no member named ‘definition’
  547 |                         add_member_name(info.definition, index, info.member_list[index].name.c_str());
      |                                              ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:551:29: error: ‘struct reshadefx::struct_info’ has no member named ‘definition’
  551 |                 return info.definition;
      |                             ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::define_texture(const reshadefx::location&, reshadefx::texture_info&)’:
../src/reshade/effect_codegen_spirv.cpp:555:22: error: ‘struct reshadefx::texture_info’ has no member named ‘id’
  555 |                 info.id = make_id();
      |                      ^~
../src/reshade/effect_codegen_spirv.cpp:559:29: error: ‘struct reshadefx::texture_info’ has no member named ‘id’
  559 |                 return info.id;
      |                             ^~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::define_sampler(const reshadefx::location&, reshadefx::sampler_info&)’:
../src/reshade/effect_codegen_spirv.cpp:563:22: error: ‘struct reshadefx::sampler_info’ has no member named ‘id’
  563 |                 info.id = make_id();
      |                      ^~
../src/reshade/effect_codegen_spirv.cpp:564:22: error: ‘struct reshadefx::sampler_info’ has no member named ‘binding’
  564 |                 info.binding = _module.num_sampler_bindings++;
      |                      ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:564:40: error: ‘struct reshadefx::module’ has no member named ‘num_sampler_bindings’
  564 |                 info.binding = _module.num_sampler_bindings++;
      |                                        ^~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:566:38: error: ‘struct reshadefx::sampler_info’ has no member named ‘id’
  566 |                 define_variable(info.id, loc, { type::t_sampler, 0, 0, type::q_extern | type::q_uniform },
      |                                      ^~
../src/reshade/effect_codegen_spirv.cpp:566:55: error: ‘t_sampler’ is not a member of ‘reshadefx::type’
  566 |                 define_variable(info.id, loc, { type::t_sampler, 0, 0, type::q_extern | type::q_uniform },
      |                                                       ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:566:78: error: ‘q_extern’ is not a member of ‘reshadefx::type’
  566 |                 define_variable(info.id, loc, { type::t_sampler, 0, 0, type::q_extern | type::q_uniform },
      |                                                                              ^~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:566:95: error: ‘q_uniform’ is not a member of ‘reshadefx::type’
  566 |                 define_variable(info.id, loc, { type::t_sampler, 0, 0, type::q_extern | type::q_uniform },
      |                                                                                               ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:569:37: error: ‘struct reshadefx::sampler_info’ has no member named ‘id’
  569 |                 add_decoration(info.id, spv::DecorationDescriptorSet, { 1 });
      |                                     ^~
../src/reshade/effect_codegen_spirv.cpp:570:37: error: ‘struct reshadefx::sampler_info’ has no member named ‘id’
  570 |                 add_decoration(info.id, spv::DecorationBinding, { info.binding });
      |                                     ^~
../src/reshade/effect_codegen_spirv.cpp:570:72: error: ‘struct reshadefx::sampler_info’ has no member named ‘binding’
  570 |                 add_decoration(info.id, spv::DecorationBinding, { info.binding });
      |                                                                        ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:574:29: error: ‘struct reshadefx::sampler_info’ has no member named ‘id’
  574 |                 return info.id;
      |                             ^~
../src/reshade/effect_codegen_spirv.cpp: In lambda function:
../src/reshade/effect_codegen_spirv.cpp:593:45: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  593 |                                 scalar_info.size = 4;
      |                                             ^~~~
../src/reshade/effect_codegen_spirv.cpp:594:45: error: ‘struct reshadefx::uniform_info’ has no member named ‘offset’
  594 |                                 scalar_info.offset = static_cast<uint32_t>(initializer_offset);
      |                                             ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:596:63: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
  596 |                                 scalar_info.initializer_value.as_uint[0] = initializer_value.as_uint[initializer_offset];
      |                                                               ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:596:94: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
  596 |                                 scalar_info.initializer_value.as_uint[0] = initializer_value.as_uint[initializer_offset];
      |                                                                                              ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::define_uniform(const reshadefx::location&, reshadefx::uniform_info&)’:
../src/reshade/effect_codegen_spirv.cpp:674:38: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  674 |                                 info.size = info.type.rows * matrix_stride;
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:676:38: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  676 |                                 info.size = info.type.rows * 4;
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:679:62: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  679 |                                 array_stride = align_up(info.size, array_stride);
      |                                                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:681:38: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  681 |                                 info.size = array_stride * info.type.array_length;
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:684:30: error: ‘struct reshadefx::uniform_info’ has no member named ‘offset’
  684 |                         info.offset = _module.total_uniform_size;
      |                              ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:684:47: error: ‘struct reshadefx::module’ has no member named ‘total_uniform_size’
  684 |                         info.offset = _module.total_uniform_size;
      |                                               ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:686:63: error: ‘struct reshadefx::uniform_info’ has no member named ‘offset’
  686 |                         const uint32_t remaining = 16 - (info.offset & 15);
      |                                                               ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:687:53: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  687 |                         if (remaining != 16 && info.size > remaining)
      |                                                     ^~~~
../src/reshade/effect_codegen_spirv.cpp:688:38: error: ‘struct reshadefx::uniform_info’ has no member named ‘offset’
  688 |                                 info.offset += remaining;
      |                                      ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:689:33: error: ‘struct reshadefx::module’ has no member named ‘total_uniform_size’
  689 |                         _module.total_uniform_size = info.offset + info.size;
      |                                 ^~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:689:59: error: ‘struct reshadefx::uniform_info’ has no member named ‘offset’
  689 |                         _module.total_uniform_size = info.offset + info.size;
      |                                                           ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:689:73: error: ‘struct reshadefx::uniform_info’ has no member named ‘size’
  689 |                         _module.total_uniform_size = info.offset + info.size;
      |                                                                         ^~~~
../src/reshade/effect_codegen_spirv.cpp:694:42: error: ‘struct reshadefx::type’ has no member named ‘base’
  694 |                                 ubo_type.base = type::t_uint;
      |                                          ^~~~
../src/reshade/effect_codegen_spirv.cpp:694:55: error: ‘t_uint’ is not a member of ‘reshadefx::type’
  694 |                                 ubo_type.base = type::t_uint;
      |                                                       ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:704:109: error: ‘struct reshadefx::uniform_info’ has no member named ‘offset’
  704 |                         add_member_decoration(_global_ubo_type, member_index, spv::DecorationOffset, { info.offset });
      |                                                                                                             ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:704:46: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘std::initializer_list<unsigned int>’
  704 |                         add_member_decoration(_global_ubo_type, member_index, spv::DecorationOffset, { info.offset });
      |                         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:515:133: note:   initializing argument 4 of ‘void codegen_spirv::add_member_decoration(reshadefx::codegen::id, uint32_t, spv::Decoration, std::initializer_list<unsigned int>)’
  515 |         inline void add_member_decoration(id id, uint32_t member_index, spv::Decoration decoration, std::initializer_list<uint32_t> values = {})
      |                                                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::define_function(const reshadefx::location&, reshadefx::function_info&)’:
../src/reshade/effect_codegen_spirv.cpp:773:22: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
  773 |                 info.definition = add_instruction(spv::OpFunction, convert_type(info.return_type), function.declaration)
      |                      ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:778:39: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
  778 |                         add_name(info.definition, info.name.c_str());
      |                                       ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:784:31: error: ‘struct reshadefx::struct_member_info’ has no member named ‘definition’
  784 |                         param.definition = add_instruction(spv::OpFunctionParameter, convert_type(param.type, true), function.declaration).result;
      |                               ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:786:40: error: ‘struct reshadefx::struct_member_info’ has no member named ‘definition’
  786 |                         add_name(param.definition, param.name.c_str());
      |                                        ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:791:29: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
  791 |                 return info.definition;
      |                             ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual void codegen_spirv::define_entry_point(const reshadefx::function_info&, bool)’:
../src/reshade/effect_codegen_spirv.cpp:808:51: error: ‘t_void’ is not a member of ‘reshadefx::type’
  808 |                 entry_point.return_type = { type::t_void };
      |                                                   ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:808:58: error: no match for ‘operator=’ (operand types are ‘reshadefx::type’ and ‘<brace-enclosed initializer list>’)
  808 |                 entry_point.return_type = { type::t_void };
      |                                                          ^
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(const reshadefx::type&)’
   15 |         struct type
      |                ^~~~
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
../src/reshade/effect_expression.hpp:15:16: note: candidate: ‘constexpr reshadefx::type& reshadefx::type::operator=(reshadefx::type&&)’
../src/reshade/effect_expression.hpp:15:16: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘reshadefx::type&&’
../src/reshade/effect_codegen_spirv.cpp: In lambda function:
../src/reshade/effect_codegen_spirv.cpp:859:50: error: ‘q_noperspective’ is not a member of ‘reshadefx::type’
  859 |                         if (param_type.has(type::q_noperspective))
      |                                                  ^~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:861:50: error: ‘q_centroid’ is not a member of ‘reshadefx::type’
  861 |                         if (param_type.has(type::q_centroid))
      |                                                  ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:863:50: error: ‘q_nointerpolation’ is not a member of ‘reshadefx::type’
  863 |                         if (param_type.has(type::q_nointerpolation))
      |                                                  ^~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual void codegen_spirv::define_entry_point(const reshadefx::function_info&, bool)’:
../src/reshade/effect_codegen_spirv.cpp:873:50: error: ‘q_out’ is not a member of ‘reshadefx::type’
  873 |                         if (param.type.has(type::q_out))
      |                                                  ^~~~~
../src/reshade/effect_codegen_spirv.cpp:879:104: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  879 |                                         for (const struct_member_info &member : find_struct(param.type.definition).member_list)
      |                                                                                                        ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:892:104: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  892 |                                         for (const struct_member_info &member : find_struct(param.type.definition).member_list)
      |                                                                                                        ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:917:61: error: ‘const struct reshadefx::function_info’ has no member named ‘definition’
  917 |                 const auto call_result = emit_call({}, func.definition, func.return_type, call_params);
      |                                                             ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:923:50: error: ‘q_out’ is not a member of ‘reshadefx::type’
  923 |                         if (param.type.has(type::q_out))
      |                                                  ^~~~~
../src/reshade/effect_codegen_spirv.cpp:926:61: error: ‘__gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘struct reshadefx::expression’} has no member named ‘base’
  926 |                                         .add(call_params[i].base).result;
      |                                                             ^~~~
../src/reshade/effect_codegen_spirv.cpp:930:96: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  930 |                                         const struct_info &definition = find_struct(param.type.definition);
      |                                                                                                ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:954:96: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  954 |                                         const struct_info &definition = find_struct(param.type.definition);
      |                                                                                                ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:966:86: error: ‘const struct reshadefx::type’ has no member named ‘definition’
  966 |                         const struct_info &definition = find_struct(func.return_type.definition);
      |                                                                                      ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:995:81: error: ‘t_float’ is not a member of ‘reshadefx::type’
  995 |                         position.reset_to_lvalue({}, position_variable, { type::t_float, 4, 1 });
      |                                                                                 ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:995:49: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  995 |                         position.reset_to_lvalue({}, position_variable, { type::t_float, 4, 1 });
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_expression.hpp:151:108: note:   initializing argument 3 of ‘void reshadefx::expression::reset_to_lvalue(const reshadefx::location&, int, const reshadefx::type&)’
  151 |                 void reset_to_lvalue(const reshadefx::location &loc, uint32_t base, const reshadefx::type &type);
      |                                                                                     ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:1000:75: error: ‘t_float’ is not a member of ‘reshadefx::type’
 1000 |                                 emit_unary_op({}, tokenid::minus, { type::t_float, 1, 1 },
      |                                                                           ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1000:46: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1000 |                                 emit_unary_op({}, tokenid::minus, { type::t_float, 1, 1 },
      |                                 ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1001 |                                         emit_load(position, false)));
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1515:73: note:   initializing argument 3 of ‘virtual reshadefx::codegen::id codegen_spirv::emit_unary_op(const reshadefx::location&, reshadefx::tokenid, const reshadefx::type&, reshadefx::codegen::id)’
 1515 |         id   emit_unary_op(const location &loc, tokenid op, const type &type, id val) override
      |                                                             ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:1010:42: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
 1010 |                         .add(entry_point.definition)
      |                                          ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1016:50: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
 1016 |                                 .add(entry_point.definition)
      |                                                  ^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::emit_load(const reshadefx::expression&, bool)’:
../src/reshade/effect_codegen_spirv.cpp:1026:38: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1026 |                 spv::Id result = exp.base;
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:1035:63: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1035 |                 if (exp.is_lvalue && _spec_constants.find(exp.base) == _spec_constants.end())
      |                                                               ^~~~
../src/reshade/effect_codegen_spirv.cpp:1041:70: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1041 |                         if (const auto it = _storage_lookup.find(exp.base);
      |                                                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:1056:51: error: ‘struct reshadefx::type’ has no member named ‘base’
 1056 |                                         base_type.base = type::t_uint;
      |                                                   ^~~~
../src/reshade/effect_codegen_spirv.cpp:1056:64: error: ‘t_uint’ is not a member of ‘reshadefx::type’
 1056 |                                         base_type.base = type::t_uint;
      |                                                                ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:1082:62: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression::operation>, reshadefx::expression::operation>::value_type’ {aka ‘const struct reshadefx::expression::operation’} has no member named ‘index’
 1082 |                                                 exp.chain[i].index :
      |                                                              ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1083:76: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression::operation>, reshadefx::expression::operation>::value_type’ {aka ‘const struct reshadefx::expression::operation’} has no member named ‘index’
 1083 |                                                 emit_constant(exp.chain[i].index)); // Indexes
      |                                                                            ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1107:35: error: ‘struct reshadefx::type’ has no member named ‘base’
 1107 |                         base_type.base = type::t_bool;
      |                                   ^~~~
../src/reshade/effect_codegen_spirv.cpp:1107:48: error: ‘t_bool’ is not a member of ‘reshadefx::type’
 1107 |                         base_type.base = type::t_bool;
      |                                                ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:1145:55: error: ‘const struct reshadefx::type’ has no member named ‘base’
 1145 |                                         switch (op.to.base)
      |                                                       ^~~~
../src/reshade/effect_codegen_spirv.cpp:1147:52: error: ‘t_int’ is not a member of ‘reshadefx::type’
 1147 |                                         case type::t_int:
      |                                                    ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1150:52: error: ‘t_uint’ is not a member of ‘reshadefx::type’
 1150 |                                         case type::t_uint:
      |                                                    ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:1153:52: error: ‘t_float’ is not a member of ‘reshadefx::type’
 1153 |                                         case type::t_float:
      |                                                    ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1176:57: error: ‘const struct reshadefx::expression::operation’ has no member named ‘index’
 1176 |                                                 .add(op.index) // Index
      |                                                         ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1187:49: error: ‘const struct reshadefx::expression::operation’ has no member named ‘index’
 1187 |                                         .add(op.index) // Literal Index
      |                                                 ^~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual void codegen_spirv::emit_store(const reshadefx::expression&, reshadefx::codegen::id)’:
../src/reshade/effect_codegen_spirv.cpp:1284:38: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1284 |                 spv::Id target = exp.base;
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:1295:70: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1295 |                         if (const auto it = _storage_lookup.find(exp.base);
      |                                                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:1310:54: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression::operation>, reshadefx::expression::operation>::value_type’ {aka ‘const struct reshadefx::expression::operation’} has no member named ‘index’
 1310 |                                         exp.chain[i].index :
      |                                                      ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1311:68: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression::operation>, reshadefx::expression::operation>::value_type’ {aka ‘const struct reshadefx::expression::operation’} has no member named ‘index’
 1311 |                                         emit_constant(exp.chain[i].index)); // Indexes
      |                                                                    ^~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘reshadefx::codegen::id codegen_spirv::emit_constant(uint32_t)’:
../src/reshade/effect_codegen_spirv.cpp:1397:46: error: ‘t_uint’ is not a member of ‘reshadefx::type’
 1397 |                 return emit_constant({ type::t_uint, 1, 1 }, value);
      |                                              ^~~~~~
../src/reshade/effect_codegen_spirv.cpp:1397:37: error: no matching function for call to ‘codegen_spirv::emit_constant(<brace-enclosed initializer list>, uint32_t&)’
 1397 |                 return emit_constant({ type::t_uint, 1, 1 }, value);
      |                        ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1395:14: note: candidate: ‘reshadefx::codegen::id codegen_spirv::emit_constant(uint32_t)’
 1395 |         id   emit_constant(uint32_t value)
      |              ^~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1395:14: note:   candidate expects 1 argument, 2 provided
../src/reshade/effect_codegen_spirv.cpp:1399:14: note: candidate: ‘reshadefx::codegen::id codegen_spirv::emit_constant(const reshadefx::type&, uint32_t)’
 1399 |         id   emit_constant(const type &type, uint32_t value)
      |              ^~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1399:40: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1399 |         id   emit_constant(const type &type, uint32_t value)
      |                            ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:1411:14: note: candidate: ‘virtual reshadefx::codegen::id codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&)’
 1411 |         id   emit_constant(const type &type, const constant &data) override
      |              ^~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1411:40: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
 1411 |         id   emit_constant(const type &type, const constant &data) override
      |                            ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:1415:14: note: candidate: ‘reshadefx::codegen::id codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)’
 1415 |         id   emit_constant(const type &type, const constant &data, bool spec_constant)
      |              ^~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1415:14: note:   candidate expects 3 arguments, 2 provided
../src/reshade/effect_codegen_spirv.cpp: In member function ‘reshadefx::codegen::id codegen_spirv::emit_constant(const reshadefx::type&, uint32_t)’:
../src/reshade/effect_codegen_spirv.cpp:1405:38: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1405 |                                 data.as_uint[i] = value;
      |                                      ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In lambda function:
../src/reshade/effect_codegen_spirv.cpp:1419:111: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
 1419 |                                 if (!(std::get<0>(x) == type && std::memcmp(&std::get<1>(x).as_uint[0], &data.as_uint[0], sizeof(uint32_t) * 16) == 0 && std::get<1>(x).array_data.size() == data.array_data.size()))
      |                                                                                                               ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1422:119: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::constant>, reshadefx::constant>::value_type’ {aka ‘const struct reshadefx::constant’} has no member named ‘as_uint’
 1422 |                                         if (std::memcmp(&std::get<1>(x).array_data[i].as_uint[0], &data.array_data[i].as_uint[0], sizeof(uint32_t) * 16) != 0)
      |                                                                                                                       ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘reshadefx::codegen::id codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)’:
../src/reshade/effect_codegen_spirv.cpp:1472:50: error: ‘struct reshadefx::constant’ has no member named ‘as_uint’
 1472 |                                         row_data.as_uint[k] = data.as_uint[i * type.cols + k];
      |                                                  ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1472:68: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
 1472 |                                         row_data.as_uint[k] = data.as_uint[i * type.cols + k];
      |                                                                    ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1493:55: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
 1493 |                         result = add_instruction(data.as_uint[0] ?
      |                                                       ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1503:43: error: ‘const struct reshadefx::constant’ has no member named ‘as_uint’
 1503 |                                 .add(data.as_uint[0])
      |                                           ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::emit_binary_op(const reshadefx::location&, reshadefx::tokenid, const reshadefx::type&, const reshadefx::type&, reshadefx::codegen::id, reshadefx::codegen::id)’:
../src/reshade/effect_codegen_spirv.cpp:1629:40: error: ‘q_precise’ is not a member of ‘reshadefx::type’
 1629 |                 if (res_type.has(type::q_precise))
      |                                        ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::emit_call(const reshadefx::location&, reshadefx::codegen::id, const reshadefx::type&, const std::vector<reshadefx::expression>&)’:
../src/reshade/effect_codegen_spirv.cpp:1652:57: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1652 |                         assert(arg.chain.empty() && arg.base != 0);
      |                                                         ^~~~
../src/reshade/effect_codegen_spirv.cpp:1661:38: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1661 |                         inst.add(arg.base); // Arguments
      |                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::emit_call_intrinsic(const reshadefx::location&, reshadefx::codegen::id, const reshadefx::type&, const std::vector<reshadefx::expression>&)’:
../src/reshade/effect_codegen_spirv.cpp:1669:57: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1669 |                         assert(arg.chain.empty() && arg.base != 0);
      |                                                         ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:51:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
   51 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:58:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
   58 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:80:24: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
   80 |         return args[0].base;
      |                        ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:84:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
   84 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:106:24: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  106 |         return args[0].base;
      |                        ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:110:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  110 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:129:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  129 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:148:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  148 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:167:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  167 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:186:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  186 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:187:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  187 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:206:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  206 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:225:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  225 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:244:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  244 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:263:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  263 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:282:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  282 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:301:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  301 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:320:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  320 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:325:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  325 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:329:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  329 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:332:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  332 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:351:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  351 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:368:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  368 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:395:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  395 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:400:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  400 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:419:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  419 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:441:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  441 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:480:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  480 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:481:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  481 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:482:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  482 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:489:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  489 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:490:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  490 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:491:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  491 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:498:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  498 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:499:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  499 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:500:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  500 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:522:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  522 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:546:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  546 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:547:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  547 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:548:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  548 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:571:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  571 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:590:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  590 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:591:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  591 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:610:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  610 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:629:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  629 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:648:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  648 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:667:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  667 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:686:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  686 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:722:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  722 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:729:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  729 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:748:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  748 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:767:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  767 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:786:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  786 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:787:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  787 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:788:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  788 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:807:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  807 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:808:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  808 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:827:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  827 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:828:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  828 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:829:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  829 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:848:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  848 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:867:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  867 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:868:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  868 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:887:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  887 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:888:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  888 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:907:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  907 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:908:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  908 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:927:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  927 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:946:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  946 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:975:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  975 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:976:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  976 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:983:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  983 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:984:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
  984 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1013:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1013 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1014:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1014 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1021:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1021 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1022:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1022 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1041:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1041 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1060:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1060 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1077:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1077 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1094:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1094 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1111:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1111 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1127:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1127 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1128:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1128 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1144:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1144 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1145:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1145 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1164:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1164 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1183:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1183 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1184:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1184 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1202:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1202 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1218:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1218 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1236:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1236 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1254:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1254 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1255:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1255 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1273:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1273 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1274:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1274 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1275:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1275 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1294:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1294 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1295:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1295 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1296:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1296 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1312:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1312 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1313:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1313 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1327:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1327 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1328:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1328 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1343:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1343 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1344:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1344 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1358:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1358 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1359:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1359 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1375:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1375 |                 .add(args[1].base) // Flip inputs because matrices are column-wise
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1376:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1376 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1390:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1390 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1391:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1391 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1406:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1406 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1407:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1407 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1424:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1424 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1441:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1441 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1461:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1461 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1462:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1462 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1485:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1485 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1486:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1486 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1488:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1488 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1506:87: error: ‘t_float’ is not a member of ‘reshadefx::type’
 1506 |         const spv::Id xy = add_instruction(spv::OpVectorShuffle, convert_type({ type::t_float, 2, 1 }))
      |                                                                                       ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1506:78: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1506 |         const spv::Id xy = add_instruction(spv::OpVectorShuffle, convert_type({ type::t_float, 2, 1 }))
      |                                                                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1507:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1507 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1508:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1508 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1512:91: error: ‘t_float’ is not a member of ‘reshadefx::type’
 1512 |         const spv::Id lod = add_instruction(spv::OpCompositeExtract, convert_type({ type::t_float, 1, 1 }))
      |                                                                                           ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1512:82: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1512 |         const spv::Id lod = add_instruction(spv::OpCompositeExtract, convert_type({ type::t_float, 1, 1 }))
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1513:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1513 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1518:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1518 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1542:87: error: ‘t_float’ is not a member of ‘reshadefx::type’
 1542 |         const spv::Id xy = add_instruction(spv::OpVectorShuffle, convert_type({ type::t_float, 2, 1 }))
      |                                                                                       ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1542:78: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1542 |         const spv::Id xy = add_instruction(spv::OpVectorShuffle, convert_type({ type::t_float, 2, 1 }))
      |                                                                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1543:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1543 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1544:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1544 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1548:91: error: ‘t_float’ is not a member of ‘reshadefx::type’
 1548 |         const spv::Id lod = add_instruction(spv::OpCompositeExtract, convert_type({ type::t_float, 1, 1 }))
      |                                                                                           ^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1548:82: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1548 |         const spv::Id lod = add_instruction(spv::OpCompositeExtract, convert_type({ type::t_float, 1, 1 }))
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1549:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1549 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1554:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1554 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1558:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1558 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1588:82: error: ‘t_texture’ is not a member of ‘reshadefx::type’
 1588 |         const spv::Id image = add_instruction(spv::OpImage, convert_type({ type::t_texture }))
      |                                                                                  ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1588:73: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1588 |         const spv::Id image = add_instruction(spv::OpImage, convert_type({ type::t_texture }))
      |                                                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1589:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1589 |                 .add(args[0].base).result;
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1600:82: error: ‘t_texture’ is not a member of ‘reshadefx::type’
 1600 |         const spv::Id image = add_instruction(spv::OpImage, convert_type({ type::t_texture }))
      |                                                                                  ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1600:73: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1600 |         const spv::Id image = add_instruction(spv::OpImage, convert_type({ type::t_texture }))
      |                                                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1601:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1601 |                 .add(args[0].base).result;
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1605:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1605 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1630:87: error: ‘t_int’ is not a member of ‘reshadefx::type’
 1630 |         const spv::Id xy = add_instruction(spv::OpVectorShuffle, convert_type({ type::t_int, 2, 1 }))
      |                                                                                       ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1630:78: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1630 |         const spv::Id xy = add_instruction(spv::OpVectorShuffle, convert_type({ type::t_int, 2, 1 }))
      |                                                                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1631:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1631 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1632:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1632 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1636:91: error: ‘t_int’ is not a member of ‘reshadefx::type’
 1636 |         const spv::Id lod = add_instruction(spv::OpCompositeExtract, convert_type({ type::t_int, 1, 1 }))
      |                                                                                           ^~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1636:82: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1636 |         const spv::Id lod = add_instruction(spv::OpCompositeExtract, convert_type({ type::t_int, 1, 1 }))
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1637:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1637 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1641:82: error: ‘t_texture’ is not a member of ‘reshadefx::type’
 1641 |         const spv::Id image = add_instruction(spv::OpImage, convert_type({ type::t_texture }))
      |                                                                                  ^~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1641:73: error: no matching function for call to ‘codegen_spirv::convert_type(<brace-enclosed initializer list>)’
 1641 |         const spv::Id image = add_instruction(spv::OpImage, convert_type({ type::t_texture }))
      |                                                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp:321:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const reshadefx::type&, bool, spv::StorageClass, uint32_t)’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:321:42: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const reshadefx::type&’
  321 |         spv::Id convert_type(const type &info, bool is_ptr = false, spv::StorageClass storage = spv::StorageClassFunction, uint32_t array_stride = 0)
      |                              ~~~~~~~~~~~~^~~~
../src/reshade/effect_codegen_spirv.cpp:446:17: note: candidate: ‘spv::Id codegen_spirv::convert_type(const function_blocks&)’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                 ^~~~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp:446:53: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const codegen_spirv::function_blocks&’
  446 |         spv::Id convert_type(const function_blocks &info)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1642:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1642 |                 .add(args[0].base).result;
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1685:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1685 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1686:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1686 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1687:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1687 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1726:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1726 |                 .add(args[0].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1727:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1727 |                 .add(args[1].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1728:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1728 |                 .add(args[3].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_symbol_table_intrinsics.inl:1730:30: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1730 |                 .add(args[2].base)
      |                              ^~~~
../src/reshade/effect_codegen_spirv.cpp:1682:64: note: in definition of macro ‘IMPLEMENT_INTRINSIC_SPIRV’
 1682 | #define IMPLEMENT_INTRINSIC_SPIRV(name, i, code) case name##i: code
      |                                                                ^~~~
../src/reshade/effect_codegen_spirv.cpp: In member function ‘virtual reshadefx::codegen::id codegen_spirv::emit_construct(const reshadefx::location&, const reshadefx::type&, const std::vector<reshadefx::expression>&)’:
../src/reshade/effect_codegen_spirv.cpp:1692:102: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1692 |                         assert((arg.type.is_scalar() || type.is_array()) && arg.chain.empty() && arg.base != 0);
      |                                                                                                      ^~~~
../src/reshade/effect_codegen_spirv.cpp:1713:66: error: ‘const __gnu_cxx::__alloc_traits<std::allocator<reshadefx::expression>, reshadefx::expression>::value_type’ {aka ‘const struct reshadefx::expression’} has no member named ‘base’
 1713 |                                         inst.add(args[arg + row].base);
      |                                                                  ^~~~
../src/reshade/effect_codegen_spirv.cpp:1726:51: error: ‘const struct reshadefx::expression’ has no member named ‘base’
 1726 |                                 ids.push_back(arg.base);
      |                                                   ^~~~
In file included from ../src/reshade/effect_codegen_spirv.cpp:7:
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> [with auto:19 = reshadefx::struct_info]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, std::vector<reshadefx::struct_info> >; _Predicate = reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<reshadefx::struct_info*, vector<reshadefx::struct_info> >; _Predicate = reshadefx::codegen::find_struct(id)::<lambda(const auto:19&)>]’
../src/reshade/effect_codegen.hpp:270:24:   required from here
../src/reshade/effect_codegen.hpp:271:66: error: ‘const struct reshadefx::struct_info’ has no member named ‘definition’
  271 |                                 [id](const auto &it) { return it.definition == id; });
      |                                                               ~~~^~~~~~~~~~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> [with auto:20 = reshadefx::texture_info]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, std::vector<reshadefx::texture_info> >; _Predicate = reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<reshadefx::texture_info*, vector<reshadefx::texture_info> >; _Predicate = reshadefx::codegen::find_texture(id)::<lambda(const auto:20&)>]’
../src/reshade/effect_codegen.hpp:280:24:   required from here
../src/reshade/effect_codegen.hpp:281:66: error: ‘const struct reshadefx::texture_info’ has no member named ‘id’
  281 |                                 [id](const auto &it) { return it.id == id; });
      |                                                               ~~~^~
../src/reshade/effect_codegen.hpp: In instantiation of ‘reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> [with auto:21 = std::unique_ptr<reshadefx::function_info>]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<std::unique_ptr<reshadefx::function_info>*, std::vector<std::unique_ptr<reshadefx::function_info> > >; _Predicate = reshadefx::codegen::find_function(id)::<lambda(const auto:21&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<reshadefx::codegen::find_function(id)::<lambda(const auto:21&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<unique_ptr<reshadefx::function_info>*, vector<unique_ptr<reshadefx::function_info> > >; _Predicate = reshadefx::codegen::find_function(id)::<lambda(const auto:21&)>]’
../src/reshade/effect_codegen.hpp:290:24:   required from here
../src/reshade/effect_codegen.hpp:291:67: error: ‘struct reshadefx::function_info’ has no member named ‘definition’
  291 |                                 [id](const auto &it) { return it->definition == id; })->get();
      |                                                               ~~~~^~~~~~~~~~
../src/reshade/effect_codegen_spirv.cpp: In instantiation of ‘codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)::<lambda(auto:28&)> [with auto:28 = std::tuple<reshadefx::type, reshadefx::constant, unsigned int>]’:
/usr/include/c++/13/bits/predefined_ops.h:318:23:   required from ‘constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<std::tuple<reshadefx::type, reshadefx::constant, unsigned int>*, std::vector<std::tuple<reshadefx::type, reshadefx::constant, unsigned int> > >; _Predicate = codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)::<lambda(auto:28&)>]’
/usr/include/c++/13/bits/stl_algobase.h:2072:14:   required from ‘constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<tuple<reshadefx::type, reshadefx::constant, unsigned int>*, vector<tuple<reshadefx::type, reshadefx::constant, unsigned int> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)::<lambda(auto:28&)> >]’
/usr/include/c++/13/bits/stl_algobase.h:2117:23:   required from ‘constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<tuple<reshadefx::type, reshadefx::constant, unsigned int>*, vector<tuple<reshadefx::type, reshadefx::constant, unsigned int> > >; _Predicate = __gnu_cxx::__ops::_Iter_pred<codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)::<lambda(auto:28&)> >]’
/usr/include/c++/13/bits/stl_algo.h:3923:28:   required from ‘constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<tuple<reshadefx::type, reshadefx::constant, unsigned int>*, vector<tuple<reshadefx::type, reshadefx::constant, unsigned int> > >; _Predicate = codegen_spirv::emit_constant(const reshadefx::type&, const reshadefx::constant&, bool)::<lambda(auto:28&)>]’
../src/reshade/effect_codegen_spirv.cpp:1418:30:   required from here
../src/reshade/effect_codegen_spirv.cpp:1419:93: error: ‘std::__tuple_element_t<1, std::tuple<reshadefx::type, reshadefx::constant, unsigned int> >’ {aka ‘struct reshadefx::constant’} has no member named ‘as_uint’
 1419 |                                 if (!(std::get<0>(x) == type && std::memcmp(&std::get<1>(x).as_uint[0], &data.as_uint[0], sizeof(uint32_t) * 16) == 0 && std::get<1>(x).array_data.size() == data.array_data.size()))
      |                                                                              ~~~~~~~~~~~~~~~^~~~~~~
../src/reshade/effect_codegen_spirv.cpp:1422:87: error: ‘__gnu_cxx::__alloc_traits<std::allocator<reshadefx::constant>, reshadefx::constant>::value_type’ {aka ‘struct reshadefx::constant’} has no member named ‘as_uint’
 1422 |                                         if (std::memcmp(&std::get<1>(x).array_data[i].as_uint[0], &data.array_data[i].as_uint[0], sizeof(uint32_t) * 16) != 0)
      |                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[13/57] g++ -Isrc/reshade/libreshade.a.p -Isrc/reshade -I../src/reshade -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++2a -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -fPIC -Wno-unknown-pragmas -MD -MQ src/reshade/libreshade.a.p/effect_preprocessor.cpp.o -MF src/reshade/libreshade.a.p/effect_preprocessor.cpp.o.d -o src/reshade/libreshade.a.p/effect_preprocessor.cpp.o -c ../src/reshade/effect_preprocessor.cpp
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /builddir/build/BUILD/vkBasalt-0.3.2.9/redhat-linux-build -j 8 -v
error: Bad exit status from /var/tmp/rpm-tmp.hH8Bv3 (%build)
RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.hH8Bv3 (%build)
Child return code was: 1
EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -bb --noclean --target riscv64 --nodeps /builddir/build/SPECS/vkBasalt.spec\n', 1)]
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/mockbuild/trace_decorator.py", line 93, in trace
    result = func(*args, **kw)
             ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mockbuild/util.py", line 598, in do_with_status
    raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode)
mockbuild.exception.Error: Command failed: 
 # bash --login -c /usr/bin/rpmbuild -bb --noclean --target riscv64 --nodeps /builddir/build/SPECS/vkBasalt.spec