Comment 2 for bug 1016349

The following (legitimate) code will generate a warning when both -O2 and
-Wconversion is enabled but not when only -Wconversion is enabled.

Code:
#include <arpa/inet.h>
// Nonsense code to illustrate problem
int main(void) {
    uint16_t portnbr=0;
    uint16_t n_portnbr = htons(portnbr);
    exit(0);
}

With optimization

$> gcc -std=gnu99 -Wconversion -Werror -O2 -c tsthtons.c
cc1: warnings being treated as errors
tsthtons.c: In function ‘main’:
tsthtons.c:6: error: conversion to ‘short unsigned int’ from ‘int’ may alter its value

and without

$>gcc -std=gnu99 -Wconversion -Werror -c tsthtons.c
$>

in both cases

gcc --version
gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839]
Copyright (C) 2009 Free Software Foundation, Inc.

and gnu clib v2.10.1