Я скомпилировал источник слияния SQLite в свой проект iOS, а clang
выдает предупреждение в этой строке
mask = (sizeof(long)==8) ? LARGEST_INT64 : 0x7fffffff;
со следующим предупреждением:
Implicit conversion from 'long long' to 'long' changes value from
9223372036854775807 to -1
[warn_impcast_integer_precision_constant]
Я включил -fdiagnostics-show-name
для отображения имени (warn_impcast_integer_precision_constant
).
Я, конечно, не хочу ничего менять в источнике SQLite, так как я не хочу вводить непредвиденные побочные эффекты, поэтому я хотел бы отключить это конкретное предупреждение только для одной строки. Предупреждение, безусловно, имеет силу, но не может иметь место при проверке sizeof
.
Чтобы сделать этот процесс воспроизводимым для других предупреждений и диагностики, существует ли способ узнать конкретный класс предупреждения и отключить их для одной строки? К сожалению, я не могу найти ничего в так называемой документации clang/llvm
.