parrot/parrot — Issue #238: Warnings generated by Clang on Win64
Author: gerdr
Created: 2011-12-23 13:08:14+00:00
State: open

Compiling `RELEASE_3_11_0-15-g30d991e` of [gerdr/cygcross64](https://github.com/gerdr/parrot/commits/gerdr/cygcross64), which corresponds to Parrot's master `RELEASE_3_11_0-5-g2006557` with Whiteknight's `win32_64_fixes` applied, generates the following warnings:

src/string/api.c:415:39: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
INTVAL * const buffer_flags = Buffer_bufflagsptr(d);
^~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:73:32: note: expanded from:
#define Buffer_bufflagsptr(b) ((INTVAL *)Buffer_bufprolog(b))
^
src/string/api.c:2812:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/string/api.c:2842:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/string/api.c:2872:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
4 warnings generated.
src/ops/core_ops.c:13355:22: warning: unused parameter 'cur_opcode' [-Wunused-parameter]
Parrot_end(opcode_t *cur_opcode, PARROT_INTERP) {
^
src/ops/core_ops.c:13355:34: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_end(opcode_t *cur_opcode, PARROT_INTERP) {
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/ops/core_ops.c:13360:35: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_noop(opcode_t *cur_opcode, PARROT_INTERP) {
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/ops/core_ops.c:13501:38: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_jump_ic(opcode_t *cur_opcode, PARROT_INTERP) {
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/ops/core_ops.c:13545:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((IREG(1) == 0)) {
~~~~~~~~^~~~
src/ops/core_ops.c:13545:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((IREG(1) == 0)) {
~ ^ ~
src/ops/core_ops.c:13545:18: note: use '=' to turn this equality comparison into an assignment
if ((IREG(1) == 0)) {
^~
=
src/ops/core_ops.c:13920:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((IREG(1) == EXCEPT_doomed)) {
~~~~~~~~^~~~~~~~~~~~~~~~
src/ops/core_ops.c:13920:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((IREG(1) == EXCEPT_doomed)) {
~ ^ ~
src/ops/core_ops.c:13920:18: note: use '=' to turn this equality comparison into an assignment
if ((IREG(1) == EXCEPT_doomed)) {
^~
=
src/ops/core_ops.c:13939:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((ICONST(1) == EXCEPT_doomed)) {
~~~~~~~~~~^~~~~~~~~~~~~~~~
src/ops/core_ops.c:13939:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((ICONST(1) == EXCEPT_doomed)) {
~ ^ ~
src/ops/core_ops.c:13939:20: note: use '=' to turn this equality comparison into an assignment
if ((ICONST(1) == EXCEPT_doomed)) {
^~
=
src/ops/core_ops.c:13958:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((IREG(1) == EXCEPT_doomed)) {
~~~~~~~~^~~~~~~~~~~~~~~~
src/ops/core_ops.c:13958:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((IREG(1) == EXCEPT_doomed)) {
~ ^ ~
src/ops/core_ops.c:13958:18: note: use '=' to turn this equality comparison into an assignment
if ((IREG(1) == EXCEPT_doomed)) {
^~
=
src/ops/core_ops.c:13977:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((ICONST(1) == EXCEPT_doomed)) {
~~~~~~~~~~^~~~~~~~~~~~~~~~
src/ops/core_ops.c:13977:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((ICONST(1) == EXCEPT_doomed)) {
~ ^ ~
src/ops/core_ops.c:13977:20: note: use '=' to turn this equality comparison into an assignment
if ((ICONST(1) == EXCEPT_doomed)) {
^~
=
src/ops/core_ops.c:14028:41: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PREG(1)->vtable->base_type == enum_class_Exception)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/ops/core_ops.c:14028:41: note: remove extraneous parentheses around the comparison to silence this warning
if ((PREG(1)->vtable->base_type == enum_class_Exception)) {
~ ^ ~
src/ops/core_ops.c:14028:41: note: use '=' to turn this equality comparison into an assignment
if ((PREG(1)->vtable->base_type == enum_class_Exception)) {
^~
=
src/ops/core_ops.c:14050:36: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((eh->vtable->base_type == enum_class_ExceptionHandler)) {
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ops/core_ops.c:14050:36: note: remove extraneous parentheses around the comparison to silence this warning
if ((eh->vtable->base_type == enum_class_ExceptionHandler)) {
~ ^ ~
src/ops/core_ops.c:14050:36: note: use '=' to turn this equality comparison into an assignment
if ((eh->vtable->base_type == enum_class_ExceptionHandler)) {
^~
=
src/ops/core_ops.c:14083:43: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PCONST(1)->vtable->base_type == enum_class_Exception)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/ops/core_ops.c:14083:43: note: remove extraneous parentheses around the comparison to silence this warning
if ((PCONST(1)->vtable->base_type == enum_class_Exception)) {
~ ^ ~
src/ops/core_ops.c:14083:43: note: use '=' to turn this equality comparison into an assignment
if ((PCONST(1)->vtable->base_type == enum_class_Exception)) {
^~
=
src/ops/core_ops.c:14105:36: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((eh->vtable->base_type == enum_class_ExceptionHandler)) {
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ops/core_ops.c:14105:36: note: remove extraneous parentheses around the comparison to silence this warning
if ((eh->vtable->base_type == enum_class_ExceptionHandler)) {
~ ^ ~
src/ops/core_ops.c:14105:36: note: use '=' to turn this equality comparison into an assignment
if ((eh->vtable->base_type == enum_class_ExceptionHandler)) {
^~
=
src/ops/core_ops.c:14137:41: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PREG(1)->vtable->base_type == enum_class_Exception)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/ops/core_ops.c:14137:41: note: remove extraneous parentheses around the comparison to silence this warning
if ((PREG(1)->vtable->base_type == enum_class_Exception)) {
~ ^ ~
src/ops/core_ops.c:14137:41: note: use '=' to turn this equality comparison into an assignment
if ((PREG(1)->vtable->base_type == enum_class_Exception)) {
^~
=
src/ops/core_ops.c:14167:43: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PCONST(1)->vtable->base_type == enum_class_Exception)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/ops/core_ops.c:14167:43: note: remove extraneous parentheses around the comparison to silence this warning
if ((PCONST(1)->vtable->base_type == enum_class_Exception)) {
~ ^ ~
src/ops/core_ops.c:14167:43: note: use '=' to turn this equality comparison into an assignment
if ((PCONST(1)->vtable->base_type == enum_class_Exception)) {
^~
=
src/ops/core_ops.c:14580:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULLfunc)) {
~~^~~~~~~~~~~
src/ops/core_ops.c:14580:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULLfunc)) {
~ ^ ~
src/ops/core_ops.c:14580:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULLfunc)) {
^~
=
src/ops/core_ops.c:14607:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULLfunc)) {
~~^~~~~~~~~~~
src/ops/core_ops.c:14607:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULLfunc)) {
~ ^ ~
src/ops/core_ops.c:14607:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULLfunc)) {
^~
=
src/ops/core_ops.c:14634:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULLfunc)) {
~~^~~~~~~~~~~
src/ops/core_ops.c:14634:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULLfunc)) {
~ ^ ~
src/ops/core_ops.c:14634:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULLfunc)) {
^~
=
src/ops/core_ops.c:14661:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULLfunc)) {
~~^~~~~~~~~~~
src/ops/core_ops.c:14661:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULLfunc)) {
~ ^ ~
src/ops/core_ops.c:14661:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULLfunc)) {
^~
=
src/ops/core_ops.c:14688:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULLfunc)) {
~~^~~~~~~~~~~
src/ops/core_ops.c:14688:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULLfunc)) {
~ ^ ~
src/ops/core_ops.c:14688:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULLfunc)) {
^~
=
src/ops/core_ops.c:14715:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULLfunc)) {
~~^~~~~~~~~~~
src/ops/core_ops.c:14715:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULLfunc)) {
~ ^ ~
src/ops/core_ops.c:14715:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULLfunc)) {
^~
=
src/ops/core_ops.c:14740:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULL)) {
~~^~~~~~~
src/ops/core_ops.c:14740:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULL)) {
~ ^ ~
src/ops/core_ops.c:14740:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULL)) {
^~
=
src/ops/core_ops.c:14765:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((p == NULL)) {
~~^~~~~~~
src/ops/core_ops.c:14765:12: note: remove extraneous parentheses around the comparison to silence this warning
if ((p == NULL)) {
~ ^ ~
src/ops/core_ops.c:14765:12: note: use '=' to turn this equality comparison into an assignment
if ((p == NULL)) {
^~
=
src/ops/core_ops.c:15071:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((IREG(1) == IREG(2))) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:15071:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((IREG(1) == IREG(2))) {
~ ^ ~
src/ops/core_ops.c:15071:18: note: use '=' to turn this equality comparison into an assignment
if ((IREG(1) == IREG(2))) {
^~
=
src/ops/core_ops.c:15080:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((ICONST(1) == IREG(2))) {
~~~~~~~~~~^~~~~~~
src/ops/core_ops.c:15080:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((ICONST(1) == IREG(2))) {
~ ^ ~
src/ops/core_ops.c:15080:20: note: use '=' to turn this equality comparison into an assignment
if ((ICONST(1) == IREG(2))) {
^~
=
src/ops/core_ops.c:15089:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((IREG(1) == ICONST(2))) {
~~~~~~~~^~~~~~~~~
src/ops/core_ops.c:15089:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((IREG(1) == ICONST(2))) {
~ ^ ~
src/ops/core_ops.c:15089:18: note: use '=' to turn this equality comparison into an assignment
if ((IREG(1) == ICONST(2))) {
^~
=
src/ops/core_ops.c:15098:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((NREG(1) == NREG(2))) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:15098:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((NREG(1) == NREG(2))) {
~ ^ ~
src/ops/core_ops.c:15098:18: note: use '=' to turn this equality comparison into an assignment
if ((NREG(1) == NREG(2))) {
^~
=
src/ops/core_ops.c:15107:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((NCONST(1) == NREG(2))) {
~~~~~~~~~~^~~~~~~
src/ops/core_ops.c:15107:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((NCONST(1) == NREG(2))) {
~ ^ ~
src/ops/core_ops.c:15107:20: note: use '=' to turn this equality comparison into an assignment
if ((NCONST(1) == NREG(2))) {
^~
=
src/ops/core_ops.c:15116:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((NREG(1) == NCONST(2))) {
~~~~~~~~^~~~~~~~~
src/ops/core_ops.c:15116:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((NREG(1) == NCONST(2))) {
~ ^ ~
src/ops/core_ops.c:15116:18: note: use '=' to turn this equality comparison into an assignment
if ((NREG(1) == NCONST(2))) {
^~
=
src/ops/core_ops.c:15243:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SREG(1) == SREG(2))) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:15243:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((SREG(1) == SREG(2))) {
~ ^ ~
src/ops/core_ops.c:15243:18: note: use '=' to turn this equality comparison into an assignment
if ((SREG(1) == SREG(2))) {
^~
=
src/ops/core_ops.c:15252:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SCONST(1) == SREG(2))) {
~~~~~~~~~~^~~~~~~
src/ops/core_ops.c:15252:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((SCONST(1) == SREG(2))) {
~ ^ ~
src/ops/core_ops.c:15252:20: note: use '=' to turn this equality comparison into an assignment
if ((SCONST(1) == SREG(2))) {
^~
=
src/ops/core_ops.c:15261:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SREG(1) == SCONST(2))) {
~~~~~~~~^~~~~~~~~
src/ops/core_ops.c:15261:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((SREG(1) == SCONST(2))) {
~ ^ ~
src/ops/core_ops.c:15261:18: note: use '=' to turn this equality comparison into an assignment
if ((SREG(1) == SCONST(2))) {
^~
=
src/ops/core_ops.c:15270:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SCONST(1) == SCONST(2))) {
~~~~~~~~~~^~~~~~~~~
src/ops/core_ops.c:15270:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((SCONST(1) == SCONST(2))) {
~ ^ ~
src/ops/core_ops.c:15270:20: note: use '=' to turn this equality comparison into an assignment
if ((SCONST(1) == SCONST(2))) {
^~
=
src/ops/core_ops.c:15279:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PREG(1) == PREG(2))) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:15279:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((PREG(1) == PREG(2))) {
~ ^ ~
src/ops/core_ops.c:15279:18: note: use '=' to turn this equality comparison into an assignment
if ((PREG(1) == PREG(2))) {
^~
=
src/ops/core_ops.c:16194:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PREG(2) == PREG(3))) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:16194:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((PREG(2) == PREG(3))) {
~ ^ ~
src/ops/core_ops.c:16194:18: note: use '=' to turn this equality comparison into an assignment
if ((PREG(2) == PREG(3))) {
^~
=
src/ops/core_ops.c:16230:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((PREG(2) == PREG(3))) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:16230:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((PREG(2) == PREG(3))) {
~ ^ ~
src/ops/core_ops.c:16230:18: note: use '=' to turn this equality comparison into an assignment
if ((PREG(2) == PREG(3))) {
^~
=
src/ops/core_ops.c:21187:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SREG(2) == NULL)) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:21187:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((SREG(2) == NULL)) {
~ ^ ~
src/ops/core_ops.c:21187:18: note: use '=' to turn this equality comparison into an assignment
if ((SREG(2) == NULL)) {
^~
=
src/ops/core_ops.c:21226:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SCONST(2) == NULL)) {
~~~~~~~~~~^~~~~~~
src/ops/core_ops.c:21226:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((SCONST(2) == NULL)) {
~ ^ ~
src/ops/core_ops.c:21226:20: note: use '=' to turn this equality comparison into an assignment
if ((SCONST(2) == NULL)) {
^~
=
src/ops/core_ops.c:21265:18: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SREG(2) == NULL)) {
~~~~~~~~^~~~~~~
src/ops/core_ops.c:21265:18: note: remove extraneous parentheses around the comparison to silence this warning
if ((SREG(2) == NULL)) {
~ ^ ~
src/ops/core_ops.c:21265:18: note: use '=' to turn this equality comparison into an assignment
if ((SREG(2) == NULL)) {
^~
=
src/ops/core_ops.c:21304:20: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((SCONST(2) == NULL)) {
~~~~~~~~~~^~~~~~~
src/ops/core_ops.c:21304:20: note: remove extraneous parentheses around the comparison to silence this warning
if ((SCONST(2) == NULL)) {
~ ^ ~
src/ops/core_ops.c:21304:20: note: use '=' to turn this equality comparison into an assignment
if ((SCONST(2) == NULL)) {
^~
=
src/ops/core_ops.c:23017:35: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_trap(opcode_t *cur_opcode, PARROT_INTERP) {
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
41 warnings generated.
src/embed/bytecode.c:80:38: warning: cast from 'const unsigned char *' to 'const opcode_t *' (aka 'const long long *') increases required alignment from 1 to 8 [-Wcast-align]
if (!PackFile_unpack(interp, pf, (const opcode_t *)pbc, bytecode_size)) {
^~~~~~~~~~~~~~~~~~~~~
1 warning generated.
src/string/encoding.c:205:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/string/encoding.c:238:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
2 warnings generated.
src/exceptions.c:237:45: warning: cast from 'opcode_t *' (aka 'long long *') to 'Parrot_runloop *' (aka 'struct parrot_runloop_t *') increases required alignment from 8 to 16 [-Wcast-align]
Parrot_runloop * const jump_point = (Parrot_runloop *)address;
^~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
src/alarm.c:88:26: warning: unused parameter 'wait' [-Wunused-parameter]
posix_alarm_set(FLOATVAL wait)
^
src/alarm.c:218:27: warning: unused parameter 'when' [-Wunused-parameter]
Parrot_alarm_set(FLOATVAL when)
^
2 warnings generated.
src/gc/alloc_resources.c:319:22: warning: cast from 'char *' to 'PObj *' (aka 'struct pobj_t *') increases required alignment from 1 to 8 [-Wcast-align]
object = (PObj*)((char *)object + pool->object_size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:722:20: warning: cast from 'char *' to 'PMC *' (aka 'struct PMC *') increases required alignment from 1 to 8 [-Wcast-align]
PMC *p = (PMC *)((char*)cur_arena->start_objects);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:734:17: warning: cast from 'char *' to 'PMC *' (aka 'struct PMC *') increases required alignment from 1 to 8 [-Wcast-align]
p = (PMC *)((char *)p + object_size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
src/gc/gc_ms.c:1080:25: warning: cast from 'char *' to 'PMC_Attribute_Free_List *' (aka 'struct PMC_Attribute_Free_List *') increases required alignment from 1 to 8 [-Wcast-align]
pool->newfree = (PMC_Attribute_Free_List *)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:1115:23: warning: cast from 'char *' to 'PMC_Attribute_Free_List *' (aka 'struct PMC_Attribute_Free_List *') increases required alignment from 1 to 8 [-Wcast-align]
pool->newlast = (PMC_Attribute_Free_List *)((char *)next + item_space);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:1952:47: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
Memory_Block *old_block = Buffer_pool(b);
^~~~~~~~~~~~~~
./include\parrot/pobj.h:78:44: note: expanded from:
#define Buffer_pool(b) ((Memory_Block *)( *(INTVAL*)(Buffer_bufprolog(b)) & ~3 ))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:1956:21: warning: cast from 'char *' to 'Parrot_Buffer *' (aka 'struct buffer_t *') increases required alignment from 1 to 8 [-Wcast-align]
b = (Parrot_Buffer *)((char *)b + object_size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
In file included from src/gc/gc_ms2.c:16:
./include\parrot/pointer_array.h:162:18: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_pa_remove(PARROT_INTERP, ARGIN(Parrot_Pointer_Array *self), ARGIN(void *ptr))
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/gc/gc_ms2.c:724:49: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, self->objects, PMC2PAC(pmc)->ptr);
^~~~~~~~~~~~
src/gc/gc_ms2.c:31:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:729:58: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_gc_pool_free(interp, self->pmc_allocator, PMC2PAC(pmc));
^~~~~~~~~~~~
src/gc/gc_ms2.c:31:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:752:38: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
pmc_alloc_struct * const item = PMC2PAC(pmc);
^~~~~~~~~~~~
src/gc/gc_ms2.c:31:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:834:49: warning: cast from 'char *' to 'string_alloc_struct *' (aka 'struct string_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, self->strings, STR2PAC(s)->ptr);
^~~~~~~~~~
src/gc/gc_ms2.c:32:21: note: expanded from:
#define STR2PAC(p) ((string_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:842:61: warning: cast from 'char *' to 'string_alloc_struct *' (aka 'struct string_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_gc_pool_free(interp, self->string_allocator, STR2PAC(s));
^~~~~~~~~~
src/gc/gc_ms2.c:32:21: note: expanded from:
#define STR2PAC(p) ((string_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:1152:44: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, list, PMC2PAC(pmc)->ptr);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:31:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^
./include\parrot/pointer_array.h:57:15: note: expanded from:
{ _code } \
^~~~~
src/gc/gc_ms2.c:1192:40: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, list, PMC2PAC(pmc)->ptr);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:31:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^
./include\parrot/pointer_array.h:57:15: note: expanded from:
{ _code } \
^~~~~
src/gc/gc_ms2.c:1230:44: warning: cast from 'char *' to 'string_alloc_struct *' (aka 'struct string_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, list, STR2PAC(obj)->ptr);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:32:21: note: expanded from:
#define STR2PAC(p) ((string_alloc_struct *)((char*)(p) - sizeof (void *)))
^
./include\parrot/pointer_array.h:57:15: note: expanded from:
{ _code } \
^~~~~
src/gc/gc_ms2.c:1262:30: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
pmc_alloc_struct *item = PMC2PAC(ptr);
^~~~~~~~~~~~
src/gc/gc_ms2.c:31:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 warnings generated.
In file included from src/gc/gc_gms.c:108:
./include\parrot/pointer_array.h:162:18: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_pa_remove(PARROT_INTERP, ARGIN(Parrot_Pointer_Array *self), ARGIN(void *ptr))
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/gc/gc_gms.c:1151:38: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
pmc_alloc_struct * const item = PMC2PAC(pmc);
^~~~~~~~~~~~
src/gc/gc_gms.c:133:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1404:51: warning: unused parameter 'flags' [-Wunused-parameter]
gc_gms_allocate_pmc_header(PARROT_INTERP, UINTVAL flags)
^
src/gc/gc_gms.c:1440:54: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, self->objects[gen], PMC2PAC(pmc)->ptr);
^~~~~~~~~~~~
src/gc/gc_gms.c:133:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1445:58: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_gc_pool_free(interp, self->pmc_allocator, PMC2PAC(pmc));
^~~~~~~~~~~~
src/gc/gc_gms.c:133:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1469:37: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
pmc_alloc_struct * const item = PMC2PAC(ptr);
^~~~~~~~~~~~
src/gc/gc_gms.c:133:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1552:54: warning: cast from 'char *' to 'string_alloc_struct *' (aka 'struct string_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_pa_remove(interp, self->strings[gen], STR2PAC(s)->ptr);
^~~~~~~~~~
src/gc/gc_gms.c:134:21: note: expanded from:
#define STR2PAC(p) ((string_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1560:61: warning: cast from 'char *' to 'string_alloc_struct *' (aka 'struct string_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
Parrot_gc_pool_free(interp, self->string_allocator, STR2PAC(s));
^~~~~~~~~~
src/gc/gc_gms.c:134:21: note: expanded from:
#define STR2PAC(p) ((string_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1600:40: warning: cast from 'char *' to 'string_alloc_struct *' (aka 'struct string_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
string_alloc_struct * const item = STR2PAC(ptr);
^~~~~~~~~~~~
src/gc/gc_gms.c:134:21: note: expanded from:
#define STR2PAC(p) ((string_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:1933:37: warning: cast from 'char *' to 'pmc_alloc_struct *' (aka 'struct pmc_alloc_struct *') increases required alignment from 1 to 8 [-Wcast-align]
pmc_alloc_struct * const item = PMC2PAC(pmc);
^~~~~~~~~~~~
src/gc/gc_gms.c:133:21: note: expanded from:
#define PMC2PAC(p) ((pmc_alloc_struct *)((char*)(p) - sizeof (void *)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 warnings generated.
src/gc/mark_sweep.c:351:17: warning: cast from 'char *' to 'PObj *' (aka 'struct pobj_t *') increases required alignment from 1 to 8 [-Wcast-align]
b = (PObj *)((char *)b + object_size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:446:17: warning: cast from 'char *' to 'Parrot_Buffer *' (aka 'struct buffer_t *') increases required alignment from 1 to 8 [-Wcast-align]
b = (Parrot_Buffer *)((char *)b + object_size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
src/gc/system.c:422:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/gc/fixed_allocator.c:460:21: warning: cast from 'char *' to 'Pool_Allocator_Free_List *' (aka 'struct Pool_Allocator_Free_List *') increases required alignment from 1 to 8 [-Wcast-align]
pool->newfree = (Pool_Allocator_Free_List *)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:554:23: warning: cast from 'char *' to 'Pool_Allocator_Free_List *' (aka 'struct Pool_Allocator_Free_List *') increases required alignment from 1 to 8 [-Wcast-align]
last = (Pool_Allocator_Free_List *)((char *)next + item_space);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
src/gc/string_gc.c:250:6: warning: cast from 'char *' to 'Memory_Block **' (aka 'struct Memory_Block **') increases required alignment from 1 to 8 [-Wcast-align]
*Buffer_poolptr(buffer) = gc->memory_pool->top_block;
^~~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:79:28: note: expanded from:
#define Buffer_poolptr(b) ((Memory_Block **)Buffer_bufprolog(b))
^
src/gc/string_gc.c:311:6: warning: cast from 'char *' to 'Memory_Block **' (aka 'struct Memory_Block **') increases required alignment from 1 to 8 [-Wcast-align]
*Buffer_poolptr(buffer) = gc->memory_pool->top_block;
^~~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:79:28: note: expanded from:
#define Buffer_poolptr(b) ((Memory_Block **)Buffer_bufprolog(b))
^
src/gc/string_gc.c:362:6: warning: cast from 'char *' to 'Memory_Block **' (aka 'struct Memory_Block **') increases required alignment from 1 to 8 [-Wcast-align]
*Buffer_poolptr(str) = pool->top_block;
^~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:79:28: note: expanded from:
#define Buffer_poolptr(b) ((Memory_Block **)Buffer_bufprolog(b))
^
src/gc/string_gc.c:412:22: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
PARROT_ASSERT(!(*Buffer_bufflagsptr(str) & Buffer_shared_FLAG));
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:73:32: note: expanded from:
#define Buffer_bufflagsptr(b) ((INTVAL *)Buffer_bufprolog(b))
^
./include\parrot/exceptions.h:299:29: note: expanded from:
# define PARROT_ASSERT(x) (x) ? ((void)0) : Parrot_confess(#x, __FILE__, __LINE__)
^
src/gc/string_gc.c:415:19: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
PARROT_ASSERT(Buffer_pool(str));
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:78:44: note: expanded from:
#define Buffer_pool(b) ((Memory_Block *)( *(INTVAL*)(Buffer_bufprolog(b)) & ~3 ))
^
./include\parrot/exceptions.h:299:29: note: expanded from:
# define PARROT_ASSERT(x) (x) ? ((void)0) : Parrot_confess(#x, __FILE__, __LINE__)
^
src/gc/string_gc.c:416:5: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
Buffer_pool(str)->freed += old_size;
^~~~~~~~~~~~~~~~
./include\parrot/pobj.h:78:44: note: expanded from:
#define Buffer_pool(b) ((Memory_Block *)( *(INTVAL*)(Buffer_bufprolog(b)) & ~3 ))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:431:6: warning: cast from 'char *' to 'Memory_Block **' (aka 'struct Memory_Block **') increases required alignment from 1 to 8 [-Wcast-align]
*Buffer_poolptr(str) = pool->top_block;
^~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:79:28: note: expanded from:
#define Buffer_poolptr(b) ((Memory_Block **)Buffer_bufprolog(b))
^
src/gc/string_gc.c:475:49: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
const INTVAL * const buffer_flags = Buffer_bufflagsptr(b);
^~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:73:32: note: expanded from:
#define Buffer_bufflagsptr(b) ((INTVAL *)Buffer_bufprolog(b))
^
src/gc/string_gc.c:478:36: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
Memory_Block * block = Buffer_pool(b);
^~~~~~~~~~~~~~
./include\parrot/pobj.h:78:44: note: expanded from:
#define Buffer_pool(b) ((Memory_Block *)( *(INTVAL*)(Buffer_bufprolog(b)) & ~3 ))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:818:42: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
Memory_Block * const old_block = Buffer_pool(b);
^~~~~~~~~~~~~~
./include\parrot/pobj.h:78:44: note: expanded from:
#define Buffer_pool(b) ((Memory_Block *)( *(INTVAL*)(Buffer_bufprolog(b)) & ~3 ))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:928:17: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
flags = Buffer_bufflagsptr(old_buf);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:73:32: note: expanded from:
#define Buffer_bufflagsptr(b) ((INTVAL *)Buffer_bufprolog(b))
^
src/gc/string_gc.c:946:10: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
*Buffer_bufflagsptr(hdr) |= Buffer_shared_FLAG;
^~~~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:73:32: note: expanded from:
#define Buffer_bufflagsptr(b) ((INTVAL *)Buffer_bufprolog(b))
^
src/gc/string_gc.c:973:10: warning: cast from 'char *' to 'Memory_Block **' (aka 'struct Memory_Block **') increases required alignment from 1 to 8 [-Wcast-align]
*Buffer_poolptr(old_buf) = pool;
^~~~~~~~~~~~~~~~~~~~~~~
./include\parrot/pobj.h:79:28: note: expanded from:
#define Buffer_poolptr(b) ((Memory_Block **)Buffer_bufprolog(b))
^
13 warnings generated.
src/hash.c:920:22: warning: cast from 'char *' to 'HashBucket *' (aka 'struct _hashbucket *') increases required alignment from 1 to 8 [-Wcast-align]
bucket = (HashBucket *)((char *)*index + offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
src/hll.c:366:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/interp/inter_cb.c:268:34: warning: cast from 'char *' to 'PMC *' (aka 'struct PMC *') increases required alignment from 1 to 8 [-Wcast-align]
cb_data->external_data = (PMC*) external_data;
^~~~~~~~~~~~~~~~~~~~
1 warning generated.
src/interp/inter_create.c:379:42: warning: unused parameter 'exit_code' [-Wunused-parameter]
Parrot_really_destroy(PARROT_INTERP, int exit_code, SHIM(void *arg))
^
1 warning generated.
src/interp/inter_misc.c:265:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/interp/inter_misc.c:452:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
2 warnings generated.
src/call/context.c:419:22: warning: cast from 'char *' to 'INTVAL *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
ctx->bp.regs_i = (INTVAL *)((char *)ctx->registers + size_n);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:422:25: warning: cast from 'char *' to 'STRING **' (aka 'struct parrot_string_t **') increases required alignment from 1 to 8 [-Wcast-align]
ctx->bp_ps.regs_s = (STRING **)((char *)ctx->registers + size_nip);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
In file included from src/pointer_array.c:15:
./include\parrot/pointer_array.h:162:18: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_pa_remove(PARROT_INTERP, ARGIN(Parrot_Pointer_Array *self), ARGIN(void *ptr))
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
1 warning generated.
src/namespace.c:663:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/nci/api.c:91:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/nci/signatures.c:166:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/oo.c:689:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/spf_vtable.c:237:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/spf_vtable.c:290:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/spf_vtable.c:339:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/spf_vtable.c:391:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
4 warnings generated.
src/sub.c:568:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/packfile/api.c:329:13: warning: cast from 'const char *' to 'const opcode_t *' (aka 'const long long *') increases required alignment from 1 to 8 [-Wcast-align]
(const opcode_t *)Parrot_str_cstring(interp, str);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:822:60: warning: unused parameter 'eval_pmc' [-Wunused-parameter]
pbc_action_enum_t action, ARGIN_NULLOK(PMC *eval_pmc))
^
./include\parrot/compiler.h:220:59: note: expanded from:
# define ARGIN_NULLOK(x) /*@in@*/ /*@null@*/ x
^
src/packfile/api.c:2450:38: warning: cast from 'char *' to 'opcode_t *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
if (!PackFile_unpack(interp, pf, (opcode_t *)program_code, (size_t)program_size))
^~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:2559:38: warning: cast from 'char *' to 'opcode_t *' (aka 'long long *') increases required alignment from 1 to 8 [-Wcast-align]
if (!PackFile_unpack(interp, pf, (opcode_t *)program_code, (size_t)program_size))
^~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
src/packfile/pf_items.c:954:23: warning: cast from 'const unsigned char *' to 'const opcode_t *' (aka 'const long long *') increases required alignment from 1 to 8 [-Wcast-align]
*stream = (const opcode_t *)ucstream;
^~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
src/packfile/segments.c:440:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
src/platform/win32/io.c:116:25: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_io_std_os_handle(PARROT_INTERP, INTVAL fileno)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/win32/io.c:192:26: warning: cast from 'char *' to 'LPCWSTR' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
fd = CreateFileW((LPCWSTR)spath, fAcc, fShare, NULL, fCreat,
^~~~~~~~~~~~~~
src/platform/win32/io.c:213:15: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_io_dup(PARROT_INTERP, PIOHANDLE handle)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/win32/io.c:242:57: warning: unused parameter 'async' [-Wunused-parameter]
Parrot_io_async(PARROT_INTERP, ARGMOD(PMC *pmc), INTVAL async)
^
src/platform/win32/io.c:275:17: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_io_close(PARROT_INTERP, PIOHANDLE os_handle)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/win32/io.c:317:17: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_io_flush(PARROT_INTERP, PIOHANDLE os_handle)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/win32/io.c:420:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/platform/win32/io.c:605:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
8 warnings generated.
src/platform/generic/socket.c:378:22: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_io_addr_match(PARROT_INTERP, ARGIN(PMC *sa), INTVAL fam,
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/generic/socket.c:479:48: warning: incompatible pointer types passing 'const int *' to parameter of type 'const char *' [-Wincompatible-pointer-types]
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value));
^~~~~~
D:/dev/mingw-usr/bin/../lib/clang/3.0/../../../x86_64-w64-mingw32/include\winsock2.h:1016:88: note: passing argument to parameter 'optval' here
WINSOCK_API_LINKAGE int WSAAPI setsockopt(SOCKET s,int level,int optname,const char *optval,int optlen);
^
src/platform/generic/socket.c:642:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/platform/generic/socket.c:677:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
4 warnings generated.
src/platform/win32/file.c:98:39: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
len = GetCurrentDirectoryW(len, (LPWSTR)c_str);
^~~~~~~~~~~~~
src/platform/win32/file.c:128:41: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = SetCurrentDirectoryW((LPWSTR)c_str);
^~~~~~~~~~~~~
src/platform/win32/file.c:151:37: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = CreateDirectoryW((LPWSTR)c_str, NULL);
^~~~~~~~~~~~~
src/platform/win32/file.c:147:62: warning: unused parameter 'mode' [-Wunused-parameter]
Parrot_file_mkdir(PARROT_INTERP, ARGIN(STRING *path), INTVAL mode)
^
src/platform/win32/file.c:174:37: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = RemoveDirectoryW((LPWSTR)c_str);
^~~~~~~~~~~~~
src/platform/win32/file.c:197:32: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = DeleteFileW((LPWSTR)c_str);
^~~~~~~~~~~~~
src/platform/win32/file.c:284:36: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
success = GetFileAttributesExW((LPWSTR)c_str,
^~~~~~~~~~~~~
src/platform/win32/file.c:476:44: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
success = GetFileAttributesExW((LPWSTR)c_str,
^~~~~~~~~~~~~
src/platform/win32/file.c:751:33: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
attrs = GetFileAttributesW((LPWSTR)c_from);
^~~~~~~~~~~~~~
src/platform/win32/file.c:758:22: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
result = csl((LPWSTR)c_to, (LPWSTR)c_from, flags);
^~~~~~~~~~~~
src/platform/win32/file.c:758:36: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
result = csl((LPWSTR)c_to, (LPWSTR)c_from, flags);
^~~~~~~~~~~~~~
src/platform/win32/file.c:785:39: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = CreateHardLinkW((LPWSTR)c_to, (LPWSTR)c_from, NULL);
^~~~~~~~~~~~
src/platform/win32/file.c:785:53: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = CreateHardLinkW((LPWSTR)c_to, (LPWSTR)c_from, NULL);
^~~~~~~~~~~~~~
src/platform/win32/file.c:805:41: warning: unused parameter 'mask' [-Wunused-parameter]
Parrot_file_umask(PARROT_INTERP, INTVAL mask)
^
src/platform/win32/file.c:810:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/platform/win32/file.c:823:49: warning: unused parameter 'path' [-Wunused-parameter]
Parrot_file_chroot(PARROT_INTERP, ARGIN(STRING *path))
^
./include\parrot/compiler.h:219:62: note: expanded from:
# define ARGIN(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/win32/file.c:854:15: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types]
suffix = last_char == '\\' || last_char == '/' ? "*" : "\\*";
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/platform/win32/file.c:859:32: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
handle = FindFirstFileW((LPWSTR)c_str, &find_data);
^~~~~~~~~~~~~
src/platform/win32/file.c:900:33: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = MoveFileW((LPWSTR)c_from, (LPWSTR)c_to);
^~~~~~~~~~~~~~
src/platform/win32/file.c:900:49: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
BOOL result = MoveFileW((LPWSTR)c_from, (LPWSTR)c_to);
^~~~~~~~~~~~
src/platform/win32/file.c:920:48: warning: unused parameter 'path' [-Wunused-parameter]
Parrot_file_chmod(PARROT_INTERP, ARGIN(STRING *path), INTVAL mode)
^
./include\parrot/compiler.h:219:62: note: expanded from:
# define ARGIN(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/win32/file.c:920:62: warning: unused parameter 'mode' [-Wunused-parameter]
Parrot_file_chmod(PARROT_INTERP, ARGIN(STRING *path), INTVAL mode)
^
src/platform/win32/file.c:943:42: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
DWORD attrs = GetFileAttributesW((LPWSTR)c_str);
^~~~~~~~~~~~~
src/platform/win32/file.c:967:42: warning: cast from 'char *' to 'LPWSTR' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
DWORD attrs = GetFileAttributesW((LPWSTR)c_str);
^~~~~~~~~~~~~
24 warnings generated.
src/platform/generic/encoding.c:39:31: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_init_platform_encoding(PARROT_INTERP)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/platform/generic/encoding.c:56:28: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_str_platform_strlen(PARROT_INTERP, const char *s)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
2 warnings generated.
src/platform/win32/exec.c:50:81: warning: passing 'const STRING *' (aka 'const struct parrot_string_t *') to parameter of type 'STRING *' (aka 'struct parrot_string_t *') discards qualifiers [-Wincompatible-pointer-types]
char* const shell = Parrot_str_to_cstring(interp, Parrot_getenv(interp, comspec));
^~~~~~~
./include\parrot/platform_interface.h:328:47: note: passing argument to parameter 'name' here
STRING * Parrot_getenv(PARROT_INTERP, STRING *name);
^
src/platform/win32/exec.c:180:21: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_proc_waitpid(PARROT_INTERP, INTVAL procid)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
2 warnings generated.
src/platform/win32/sysmem.c:46:22: warning: unused parameter 'interp' [-Wunused-parameter]
Parrot_sysmem_amount(PARROT_INTERP)
^
./include\parrot/interpreter.h:97:67: note: expanded from:
#define PARROT_INTERP /*@notnull@*/ /*@in@*/ ARGMOD(Parrot_Interp interp)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
1 warning generated.
src/platform/win32/entropy.c:54:54: warning: incompatible pointer types passing 'INTVAL *' (aka 'long long *') to parameter of type 'BYTE *' (aka 'unsigned char *') [-Wincompatible-pointer-types]
if (!CryptGenRandom(hCryptProv, sizeof (INTVAL), &entropy)) {
^~~~~~~~
D:/dev/mingw-usr/bin/../lib/clang/3.0/../../../x86_64-w64-mingw32/include\wincrypt.h:658:76: note: passing argument to parameter 'pbBuffer' here
WINIMPM WINBOOL WINAPI CryptGenRandom(HCRYPTPROV hProv,DWORD dwLen,BYTE *pbBuffer);
^
1 warning generated.
C:/Users/CHRIST~1/AppData/Local/Temp/core-449466.s: Assembler messages:
C:/Users/CHRIST~1/AppData/Local/Temp/core-449466.s:9107: Warning: Ignoring changed section attributes for .drectve
src/pmc/default.c:621:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:719:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:823:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:838:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:929:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:935:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:950:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1017:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1022:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1047:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1053:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1068:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1073:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1095:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1101:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1116:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1121:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1127:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1142:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1147:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1153:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1159:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1165:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1170:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1175:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1181:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1196:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1431:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1456:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1627:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:1916:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2365:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2370:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2375:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2380:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2618:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2623:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2628:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2633:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2947:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2952:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2957:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:2962:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:3184:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:3189:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:3194:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/default.c:3199:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
47 warnings generated.
src/pmc/null.c:330:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:340:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:356:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:366:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:411:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:419:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:428:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:437:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:446:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:455:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:464:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:484:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:498:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:507:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:516:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:525:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:567:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:577:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:587:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:589:45: warning: unused parameter '_self' [-Wunused-parameter]
Parrot_Null_does(PARROT_INTERP, ARGMOD(PMC *_self), STRING *what)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x
^
src/pmc/null.c:607:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:615:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:624:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:633:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:642:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/pmc/null.c:644:52: warning: unused parameter '_self' [-Wunused-parameter]
Parrot_Null_find_method(PARROT_INTERP, ARGMOD(PMC *_self), STRING *method_name)
^
./include\parrot/compiler.h:228:62: note: expanded from:
# define ARGMOD(x) /*@in@*/ /*@notnull@*/ x