TODO: Solve the bug of two pragmas calling the same function