Независимо от причин, среди ожидаемых препятствий есть довольно неожиданное, которое, похоже, поднимает общий вопрос о синтаксисе C++. Кстати, это происходит при компиляции deps/v8/src/baseline/baseline.cc.
В заголовочном файле deps/v8/src/codegen/interface-descriptors.h, среди прочих, есть эти два макроса (я удалил встроенные комментарии, потому что в противном случае я не смог бы создать предварительно обработанный файл baseline.i):
Код: Выделить всё
#define DEFINE_RESULT_AND_PARAMETERS(return_count, ...) \
static constexpr int kReturnCount = return_count; \
enum ParameterIndices { \
__dummy = -1, \
##__VA_ARGS__, \
\
kParameterCount, \
kContext = kParameterCount \
};
#define DEFINE_PARAMETERS(...) DEFINE_RESULT_AND_PARAMETERS(1, ##__VA_ARGS__)
Код: Выделить всё
class V8_EXPORT_PRIVATE VoidDescriptor
: public StaticCallInterfaceDescriptor {
public:
// The void descriptor could (and indeed probably should) also be NO_CONTEXT,
// but this breaks some code assembler unittests.
INTERNAL_DESCRIPTOR()
DEFINE_PARAMETERS()
DEFINE_PARAMETER_TYPES()
DECLARE_DESCRIPTOR(VoidDescriptor)
static constexpr auto registers();
};
Код: Выделить всё
static constexpr int kReturnCount = 1; enum ParameterIndices { __dummy = -1,, kParameterCount, kContext = kParameterCount };
Код: Выделить всё
../deps/v8/src/codegen/interface-descriptors.h:662:18: error: expected identifier before ',' token
662 | ##__VA_ARGS__, \
Что мне здесь не хватает?
Подробнее здесь: https://stackoverflow.com/questions/798 ... eader-file
Мобильная версия