I'm using MSVC, but it would be a plus to mention the right flags for the other major compilers. I need the flags just for experimental purposes. These are some examples of the warnings I'm referring to:
warning C4244: '=': conversion from 'T' to 'int', possible loss of data
warning C4244: '=': conversion from 'double' to 'Uint8', possible loss of data
warning C4244: 'argument': conversion from 'U' to 'T', possible loss of data
warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
warning C4244: 'argument': conversion from 'float' to 'T', possible loss of data
warning C4244: 'initializing': conversion from 'float' to 'T', possible loss of data
warning C4838: conversion from 'float' to 'T' requires a narrowing conversion