39 | | I (mikehh) got the following warnings at r37645 - most have been around for quite awhile, some duplicating the ones above (Infinoid), but also some additional ones.[[BR]] |
40 | | built with - make world 2>&1 | tee make_world.37645.log[[BR]] |
41 | | Kubuntu Intrepid i386 gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12) |
42 | | {{{ |
43 | | src/nci.c:3016: warning: dereferencing type-punned pointer will break strict-aliasing rules |
44 | | src/nci.c:5194: warning: dereferencing type-punned pointer will break strict-aliasing rules |
45 | | src/nci.c:5805: warning: dereferencing type-punned pointer will break strict-aliasing rules |
46 | | |
47 | | src/thread.c:1381: warning: suggest braces around empty body in ‘do’ statement |
48 | | src/thread.c:499: warning: variable ‘sub_pmc’ might be clobbered by ‘longjmp’ or ‘vfork’ |
49 | | |
50 | | src/jit_defs.c:2069: warning: logical ‘&&’ with non-zero constant will always evaluate as true |
51 | | src/jit_defs.c:2080: warning: logical ‘&&’ with non-zero constant will always evaluate as true |
52 | | |
53 | | ./src/pmc/sub.pmc:891: warning: logical ‘&&’ with non-zero constant will always evaluate as true |
54 | | |
55 | | compilers/imcc/imcc.y:739: warning: unused parameter ‘interp’ |
56 | | compilers/imcc/imcparser.c:2848: warning: statement with no effect |
57 | | compilers/imcc/imcparser.c:4938: warning: logical ‘&&’ with non-zero constant will always evaluate as true |
58 | | compilers/imcc/imcparser.c:4941: warning: statement with no effect |
59 | | compilers/imcc/imcparser.c:5098: warning: statement with no effect |
60 | | compilers/imcc/imcparser.c:5102: warning: statement with no effect |
61 | | compilers/imcc/imcc.l:731: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result |
62 | | compilers/imcc/imclexer.c:4165: warning: comparison between signed and unsigned |
63 | | compilers/imcc/imcc.l:1306: warning: variable ‘buffer’ might be clobbered by ‘longjmp’ or ‘vfork’ |
64 | | compilers/imcc/imcc.l:1338: warning: variable ‘buffer’ might be clobbered by ‘longjmp’ or ‘vfork’ |
65 | | |
66 | | compilers/imcc/instructions.c:176: warning: logical ‘&&’ with non-zero constant will always evaluate as true |
67 | | |
68 | | compilers/imcc/reg_alloc.c:738: warning: logical ‘&&’ with non-zero constant will always evaluate as true |
69 | | |
70 | | ./gdbmhash.pmc:238: warning: function call has aggregate value |
71 | | ./gdbmhash.pmc:176: warning: function call has aggregate value |
72 | | ./gdbmhash.pmc:150: warning: function call has aggregate value |
73 | | ./gdbmhash.pmc:152: warning: function call has aggregate value |
74 | | |
75 | | myops_ops_switch.c:151: warning: dereferencing type-punned pointer will break strict-aliasing rules |
76 | | |
77 | | pbc_to_exe.c:391: warning: dereferencing type-punned pointer might break strict-aliasing rules |
78 | | |
79 | | parrot_config.c:86: warning: dereferencing type-punned pointer might break strict-aliasing rules |
80 | | |
81 | | }}} |
82 | | |
114 | | src/interp/inter_misc.c:210: warning: ‘ret’ may be used uninitialised in this function |
| 73 | g++ (with or without --optimize) |
| 74 | ./src/pmc/imageio.pmc: In function ‘FLOATVAL Parrot_ImageIO_shift_float(parrot_interp_t*, PMC*)’: |
| 75 | ./src/pmc/imageio.pmc:613: warning: cast from type ‘opcode_t**’ to type ‘const opcode_t**’ casts away constness |
| 76 | ./src/pmc/imageio.pmc: In function ‘INTVAL Parrot_ImageIO_shift_integer(parrot_interp_t*, PMC*)’: |
| 77 | ./src/pmc/imageio.pmc:593: warning: cast from type ‘opcode_t**’ to type ‘const opcode_t**’ casts away constness |
| 78 | ./src/pmc/imageio.pmc: In function ‘STRING* Parrot_ImageIO_shift_string(parrot_interp_t*, PMC*)’: |
| 79 | ./src/pmc/imageio.pmc:652: warning: cast from type ‘opcode_t**’ to type ‘const opcode_t**’ casts away constness |
130 | | src/nci_test.c:138: warning: ‘int_cb_D4’ initialised and declared ‘extern’ |
131 | | src/nci_test.c:139: warning: ‘nci_dlvar_char’ initialised and declared ‘extern’ |
132 | | src/nci_test.c:140: warning: ‘nci_dlvar_short’ initialised and declared ‘extern’ |
133 | | src/nci_test.c:141: warning: ‘nci_dlvar_int’ initialised and declared ‘extern’ |
134 | | src/nci_test.c:142: warning: ‘nci_dlvar_long’ initialised and declared ‘extern’ |
135 | | src/nci_test.c:143: warning: ‘nci_dlvar_float’ initialised and declared ‘extern’ |
136 | | src/nci_test.c:144: warning: ‘nci_dlvar_double’ initialised and declared ‘extern’ |
137 | | src/nci_test.c:145: warning: ‘nci_dlvar_cstring’ initialised and declared ‘extern’ |
| 96 | the next two warnings are gcc (with or without --optimize): |
| 97 | src/glut_nci_thunks.c:7835: warning: no previous prototype for ‘Parrot_glut_nci_loader’ |
144 | | obscure_ops_switch.c:128: warning: dereferencing type-punned pointer will break strict-aliasing rules |
145 | | |
146 | | math_ops_switch.c:128: warning: dereferencing type-punned pointer will break strict-aliasing rules |
147 | | }}} |
148 | | |
149 | | mikehh: remaining warnings at r45484 - Ubuntu 10.04 beta amd64 (g++ with --optimize) |
150 | | |
151 | | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33081), fulltest) |
152 | | |
153 | | from make world: |
154 | | {{{ |
155 | | ... |
156 | | src/ops/core_ops_switch.c: In function ‘op_lib_t* Parrot_DynOp_core_switch_2_2_0(parrot_interp_t*, long int)’: |
157 | | src/ops/core_ops_switch.c:14711: warning: dereferencing type-punned pointer will break strict-aliasing rules |
158 | | |
159 | | ./src/pmc/callcontext.pmc: In function ‘PMC* Parrot_CallContext_get_pmc(parrot_interp_t*, PMC*)’: |
160 | | ./src/pmc/callcontext.pmc:757: warning: enumeral and non-enumeral type in conditional expression |
161 | | |
162 | | ./src/pmc/imageio.pmc: In function ‘void visit_todo_list_freeze(parrot_interp_t*, PMC*, PMC*)’: |
163 | | ./src/pmc/imageio.pmc:318: warning: enumeral and non-enumeral type in conditional expression |
164 | | ./src/pmc/imageio.pmc: In function ‘FLOATVAL Parrot_ImageIO_shift_float(parrot_interp_t*, PMC*)’: |
165 | | ./src/pmc/imageio.pmc:554: warning: cast from type ‘opcode_t**’ to type ‘const opcode_t**’ casts away constness |
166 | | ./src/pmc/imageio.pmc: In function ‘INTVAL Parrot_ImageIO_shift_integer(parrot_interp_t*, PMC*)’: |
167 | | ./src/pmc/imageio.pmc:535: warning: cast from type ‘opcode_t**’ to type ‘const opcode_t**’ casts away constness |
168 | | ./src/pmc/imageio.pmc: In function ‘STRING* Parrot_ImageIO_shift_string(parrot_interp_t*, PMC*)’: |
169 | | ./src/pmc/imageio.pmc:575: warning: cast from type ‘opcode_t**’ to type ‘const opcode_t**’ casts away constness |
170 | | |
171 | | compilers/imcc/symreg.c: In function ‘int int_overflows(const SymReg*)’: |
172 | | compilers/imcc/symreg.c:885: warning: ignoring return value of ‘long int strtol(const char*, char**, int)’, declared with attribute warn_unused_result |
173 | | compilers/imcc/symreg.c:888: warning: ignoring return value of ‘long unsigned int strtoul(const char*, char**, int)’, declared with attribute warn_unused_result |
174 | | |
175 | | ./gdbmhash.pmc: In function ‘STRING* Parrot_GDBMHash_get_string_keyed(parrot_interp_t*, PMC*, PMC*)’: |
176 | | ./gdbmhash.pmc:250: warning: function call has aggregate value |
177 | | ./gdbmhash.pmc: In function ‘INTVAL Parrot_GDBMHash_get_bool(parrot_interp_t*, PMC*)’: |
178 | | ./gdbmhash.pmc:185: warning: function call has aggregate value |
179 | | ./gdbmhash.pmc: In function ‘INTVAL Parrot_GDBMHash_get_integer(parrot_interp_t*, PMC*)’: |
180 | | ./gdbmhash.pmc:159: warning: function call has aggregate value |
181 | | ./gdbmhash.pmc:161: warning: function call has aggregate value |
182 | | |
183 | | src/dynoplibs/obscure_ops_switch.c: In function ‘op_lib_t* Parrot_DynOp_obscure_switch_2_2_0(parrot_interp_t*, long int)’: |
184 | | src/dynoplibs/obscure_ops_switch.c:127: warning: dereferencing type-punned pointer will break strict-aliasing rules |
185 | | |
186 | | src/dynoplibs/math_ops_switch.c: In function ‘op_lib_t* Parrot_DynOp_math_switch_2_2_0(parrot_interp_t*, long int)’: |
187 | | src/dynoplibs/math_ops_switch.c:127: warning: dereferencing type-punned pointer will break strict-aliasing rules |
188 | | |
| 101 | and finally with g++ (with or without --optimize): |