Есть ли способ в инфраструктуре компилятора LLVM преобразовать константу указателя в константу указателя другого типа? - PullRequest
0 голосов
/ 06 января 2019

У меня есть постоянный указатель типа *TypeB из адреса глобальной переменной, и мне нужно привести его к указателю типа *TypeA, где TypeB отличается от TypeA, но также является действительный TypeA.

Например, TypeA может иметь членов (uint id, int data1), а TypeB может иметь членов (uint id, int data1, int data2).

Вопрос в том, как привести константный указатель к другому типу, сохраняя его константный (без инструкций).

1 Ответ

0 голосов
/ 06 января 2019

Использование bitcast константного выражения , очевидно.

См. документацию для ConstantExpr::getBitCast().

...