limiting compiler warnings...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

limiting compiler warnings...

Camillo Bruni

I am quickly trying to limit the number of warnings we get when compiling cog.

The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
Furthermore it seems that cared about the following warning:

/Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast

what would be the easiest way to introduce an auto-cast for longAt and family?
I think the easiest solution would be to reintroduce the macros that are currently disabled, no?

best
cami
Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

Eliot Miranda-2
 
Hi Camillo,

On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:

I am quickly trying to limit the number of warnings we get when compiling cog.

The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
Furthermore it seems that cared about the following warning:

/Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast

what would be the easiest way to introduce an auto-cast for longAt and family?
I think the easiest solution would be to reintroduce the macros that are currently disabled, no?

This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are

"bytecodeSetSelector" redefined
assignment makes integer from pointer without a cast
format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
ignoring asm-specifier for non-static local variable 'currentBytecode'
ignoring asm-specifier for non-static local variable 'localIP'
ignoring asm-specifier for non-static local variable 'localSP'
initialization from incompatible pointer type
left shift count >= width of type
passing argument 1 of 'printHex' makes integer from pointer without a cast
passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
return makes integer from pointer without a cast

So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?


best
cami



--
best,
Eliot


cointerp-warnings (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

Camillo Bruni


On 2012-03-20, at 20:11, Eliot Miranda wrote:

> Hi Camillo,
>
> On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:
>
> I am quickly trying to limit the number of warnings we get when compiling cog.
>
> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
> Furthermore it seems that cared about the following warning:
>
> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast
>
> what would be the easiest way to introduce an auto-cast for longAt and family?
> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>
> This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are
>
> "bytecodeSetSelector" redefined
> assignment makes integer from pointer without a cast
> format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
> ignoring asm-specifier for non-static local variable 'currentBytecode'
> ignoring asm-specifier for non-static local variable 'localIP'
> ignoring asm-specifier for non-static local variable 'localSP'
> initialization from incompatible pointer type
> left shift count >= width of type
> passing argument 1 of 'printHex' makes integer from pointer without a cast
> passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
> return makes integer from pointer without a cast
>
> So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?

I'm on mac using the standard setup we have on our jenkins server.

gcc-4.2 --version
i686-apple-darwin11-gcc-4.2.1

I assume you disabled the following warnings?
-Wno-pointer-to-int-cast
-Wno-int-to-pointer-cast

see https://ci.lille.inria.fr/pharo/job/Cog-Mac-Cocoa/28/consoleFull and grep for "[ 38%] Building C object" for the detailed view.



Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

Eliot Miranda-2
 


On Tue, Mar 20, 2012 at 2:30 PM, Camillo Bruni <[hidden email]> wrote:


On 2012-03-20, at 20:11, Eliot Miranda wrote:

> Hi Camillo,
>
> On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:
>
> I am quickly trying to limit the number of warnings we get when compiling cog.
>
> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
> Furthermore it seems that cared about the following warning:
>
> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast
>
> what would be the easiest way to introduce an auto-cast for longAt and family?
> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>
> This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are
>
> "bytecodeSetSelector" redefined
> assignment makes integer from pointer without a cast
> format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
> ignoring asm-specifier for non-static local variable 'currentBytecode'
> ignoring asm-specifier for non-static local variable 'localIP'
> ignoring asm-specifier for non-static local variable 'localSP'
> initialization from incompatible pointer type
> left shift count >= width of type
> passing argument 1 of 'printHex' makes integer from pointer without a cast
> passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
> return makes integer from pointer without a cast
>
> So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?

I'm on mac using the standard setup we have on our jenkins server.

gcc-4.2 --version
i686-apple-darwin11-gcc-4.2.1

I assume you disabled the following warnings?
-Wno-pointer-to-int-cast
-Wno-int-to-pointer-cast

Don't think so.  Here's my compile line as reported by xcodebuild:

    /Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -DNDEBUG=1 -DCOGMTVM=0 -DDEBUGVM=0 -DUSE_GLOBAL_STRUCT=0 -DNO_ISNAN -DTARGET_API_MAC_CARBON -DSQUEAK_BUILTIN_PLUGIN -DHAVE_SYS_TIME_H -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Croquet.hmap -F/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols -I/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols/include -I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon -I/Users/eliot/Cog/oscogvm/macbuild -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources/i386 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources -c /Users/eliot/Cog/oscogvm/macbuild/../src/vm/gcc3x-cointerp.c -o /Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Objects-normal/i386/gcc3x-cointerp.o
 

But note I'm *not* defining USE_INLINE_MEMORY_ACCESSORS.  Are you using the same sqMemoryAccess.h as http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Cross/vm/sqMemoryAccess.h ?

see https://ci.lille.inria.fr/pharo/job/Cog-Mac-Cocoa/28/consoleFull and grep for "[ 38%] Building C object" for the detailed view.






--
best,
Eliot

Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

David T. Lewis
In reply to this post by Camillo Bruni
 
On Tue, Mar 20, 2012 at 04:35:15PM +0100, Camillo Bruni wrote:

>
> I am quickly trying to limit the number of warnings we get when compiling cog.
>
> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
> Furthermore it seems that cared about the following warning:
>
> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ?longAt? makes integer from pointer without a cast
>
> what would be the easiest way to introduce an auto-cast for longAt and family?
> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?

That is a Really Bad Idea. If the warnings are bothering you, then just
relax and have a cup of tea. But they exist for a reason, and if you
ever want to get the type declarations right, you will want to pay
attention to the what the compiler is telling you. If you think there
are too many warnings, then put your energy into addressing the type
declaration issues that produce the warnings.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

Igor Stasenko
In reply to this post by Eliot Miranda-2

On 21 March 2012 01:38, Eliot Miranda <[hidden email]> wrote:

>
>
>
> On Tue, Mar 20, 2012 at 2:30 PM, Camillo Bruni <[hidden email]> wrote:
>>
>>
>>
>> On 2012-03-20, at 20:11, Eliot Miranda wrote:
>>
>> > Hi Camillo,
>> >
>> > On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:
>> >
>> > I am quickly trying to limit the number of warnings we get when compiling cog.
>> >
>> > The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
>> > Furthermore it seems that cared about the following warning:
>> >
>> > /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast
>> >
>> > what would be the easiest way to introduce an auto-cast for longAt and family?
>> > I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>> >
>> > This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are
>> >
>> > "bytecodeSetSelector" redefined
>> > assignment makes integer from pointer without a cast
>> > format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
>> > ignoring asm-specifier for non-static local variable 'currentBytecode'
>> > ignoring asm-specifier for non-static local variable 'localIP'
>> > ignoring asm-specifier for non-static local variable 'localSP'
>> > initialization from incompatible pointer type
>> > left shift count >= width of type
>> > passing argument 1 of 'printHex' makes integer from pointer without a cast
>> > passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
>> > return makes integer from pointer without a cast
>> >
>> > So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?
>>
>> I'm on mac using the standard setup we have on our jenkins server.
>>
>> gcc-4.2 --version
>> i686-apple-darwin11-gcc-4.2.1
>>
>> I assume you disabled the following warnings?
>> -Wno-pointer-to-int-cast
>> -Wno-int-to-pointer-cast
>
>
> Don't think so.  Here's my compile line as reported by xcodebuild:
>
>     /Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -DNDEBUG=1 -DCOGMTVM=0 -DDEBUGVM=0 -DUSE_GLOBAL_STRUCT=0 -DNO_ISNAN -DTARGET_API_MAC_CARBON -DSQUEAK_BUILTIN_PLUGIN -DHAVE_SYS_TIME_H -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Croquet.hmap -F/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols -I/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols/include -I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon -I/Users/eliot/Cog/oscogvm/macbuild -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources/i386 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources -c /Users/eliot/Cog/oscogvm/macbuild/../src/vm/gcc3x-cointerp.c -o /Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Objects-normal/i386/gcc3x-cointerp.o
>
>
> But note I'm *not* defining USE_INLINE_MEMORY_ACCESSORS.  Are you using the same sqMemoryAccess.h as http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Cross/vm/sqMemoryAccess.h ?

Yes. It is using it:

cd /Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/SoundPlugin
&& /usr/bin/gcc  -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
-DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
-DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
-DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0
-DSQUEAK_BUILTIN_PLUGIN -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
-DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
-DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
-DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0 -arch i386 -isysroot
/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.5
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/vm
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/vm
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/unix/vm
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/Common/Classes
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/plugins/SoundPlugin
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX/plugins/SoundPlugin
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/SoundPlugin
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/HostWindowPlugin
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone/plugins/HostWindowPlugin
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/FilePlugin
-I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/plugins/SoundPlugin
  -arch i386 -mmacosx-version-min=10.4 -funroll-loops -fasm-blocks
-finline-functions -mfpmath=sse -march=pentium-m -mtune=prescott
-falign-functions=16 -fno-gcse -fno-cse-follow-jumps -std=gnu99 -g0
-Os -fomit-frame-pointer -arch i386 -mmacosx-version-min=10.4
-funroll-loops -fasm-blocks -finline-functions -mfpmath=sse
-march=pentium-m -mtune=prescott -falign-functions=16 -fno-gcse
-fno-cse-follow-jumps -std=gnu99 -g0 -Os -fomit-frame-pointer -include
"/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/CogVM_Prefix.pch"
-o

as well as passing some of the options twice... :)
Esteban can you check the config?


>>
>>
>> see https://ci.lille.inria.fr/pharo/job/Cog-Mac-Cocoa/28/consoleFull and grep for "[ 38%] Building C object" for the detailed view.
>>
>>
>>
>
>
>
> --
> best,
> Eliot
>
>



--
Best regards,
Igor Stasenko.
Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

johnmci
In reply to this post by David T. Lewis
 
Ok, void is not int
10 years back (ok nov 29/30 2002 )
I was irritated about  int foo()  {  }  where foo says it returns int,
but never returns anything...
Attached is an ancient change set to fix that.

However what we found was that things like the all interface where you
would set the primitive failure code would "assume" setting the
primitive failure flag returned the failure flag.
Er it does not and the complier silently digests the stupidity...
Fixing issues like that higher up perhaps, ok if the api returns the
flag, return it? Or return nil or whatever the compiler helpfully
does scratching it's head about the confused messages...

Did once watch a "C" fellow pop a blood vessel when he saw the 1,200
warning msgs go by... Get over I said...



On Tue, Mar 20, 2012 at 9:50 PM, David T. Lewis <[hidden email]> wrote:

>
> On Tue, Mar 20, 2012 at 04:35:15PM +0100, Camillo Bruni wrote:
>>
>> I am quickly trying to limit the number of warnings we get when compiling cog.
>>
>> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
>> Furthermore it seems that cared about the following warning:
>>
>> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ?longAt? makes integer from pointer without a cast
>>
>> what would be the easiest way to introduce an auto-cast for longAt and family?
>> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>
> That is a Really Bad Idea. If the warnings are bothering you, then just
> relax and have a cup of tea. But they exist for a reason, and if you
> ever want to get the type declarations right, you will want to pay
> attention to the what the compiler is telling you. If you think there
> are too many warnings, then put your energy into addressing the type
> declaration issues that produce the warnings.
>
> Dave
>


--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================

voidIsVoidNotInt.10.cs (117K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

stephane ducasse-2
In reply to this post by David T. Lewis

>> I am quickly trying to limit the number of warnings we get when compiling cog.
>>
>> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
>> Furthermore it seems that cared about the following warning:
>>
>> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ?longAt? makes integer from pointer without a cast
>>
>> what would be the easiest way to introduce an auto-cast for longAt and family?
>> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>
> That is a Really Bad Idea. If the warnings are bothering you, then just
> relax and have a cup of tea. But they exist for a reason, and if you
> ever want to get the type declarations right, you will want to pay
> attention to the what the compiler is telling you. If you think there
> are too many warnings, then put your energy into addressing the type
> declaration issues that produce the warnings.

Dave

(non aggressive) Are vm maintainers interested in getting less warning?
Because then it would be really a nice effort to push.

Stef

Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

Camillo Bruni
In reply to this post by Igor Stasenko


On 2012-03-21, at 03:18, Igor Stasenko wrote:

>
> On 21 March 2012 01:38, Eliot Miranda <[hidden email]> wrote:
>>
>>
>>
>> On Tue, Mar 20, 2012 at 2:30 PM, Camillo Bruni <[hidden email]> wrote:
>>>
>>>
>>>
>>> On 2012-03-20, at 20:11, Eliot Miranda wrote:
>>>
>>>> Hi Camillo,
>>>>
>>>> On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:
>>>>
>>>> I am quickly trying to limit the number of warnings we get when compiling cog.
>>>>
>>>> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
>>>> Furthermore it seems that cared about the following warning:
>>>>
>>>> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast
>>>>
>>>> what would be the easiest way to introduce an auto-cast for longAt and family?
>>>> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>>>>
>>>> This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are
>>>>
>>>> "bytecodeSetSelector" redefined
>>>> assignment makes integer from pointer without a cast
>>>> format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
>>>> ignoring asm-specifier for non-static local variable 'currentBytecode'
>>>> ignoring asm-specifier for non-static local variable 'localIP'
>>>> ignoring asm-specifier for non-static local variable 'localSP'
>>>> initialization from incompatible pointer type
>>>> left shift count >= width of type
>>>> passing argument 1 of 'printHex' makes integer from pointer without a cast
>>>> passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
>>>> return makes integer from pointer without a cast
>>>>
>>>> So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?
>>>
>>> I'm on mac using the standard setup we have on our jenkins server.
>>>
>>> gcc-4.2 --version
>>> i686-apple-darwin11-gcc-4.2.1
>>>
>>> I assume you disabled the following warnings?
>>> -Wno-pointer-to-int-cast
>>> -Wno-int-to-pointer-cast
>>
>>
>> Don't think so.  Here's my compile line as reported by xcodebuild:
>>
>>     /Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -DNDEBUG=1 -DCOGMTVM=0 -DDEBUGVM=0 -DUSE_GLOBAL_STRUCT=0 -DNO_ISNAN -DTARGET_API_MAC_CARBON -DSQUEAK_BUILTIN_PLUGIN -DHAVE_SYS_TIME_H -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Croquet.hmap -F/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols -I/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols/include -I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon -I/Users/eliot/Cog/oscogvm/macbuild -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources/i386 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources -c /Users/eliot/Cog/oscogvm/macbuild/../src/vm/gcc3x-cointerp.c -o /Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Objects-normal/i386/gcc3x-cointerp.o
>>
>>
>> But note I'm *not* defining USE_INLINE_MEMORY_ACCESSORS.  Are you using the same sqMemoryAccess.h as http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Cross/vm/sqMemoryAccess.h ?
>
> Yes. It is using it:

ok, so I was right by having the macros back :)
- 1000 warnings, yay!

> cd /Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/SoundPlugin
> && /usr/bin/gcc  -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
> -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
> -DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
> -DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0
> -DSQUEAK_BUILTIN_PLUGIN -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
> -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
> -DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
> -DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0 -arch i386 -isysroot
> /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.5
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/unix/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/Common/Classes
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/plugins/SoundPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX/plugins/SoundPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/SoundPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/HostWindowPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone/plugins/HostWindowPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/FilePlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/plugins/SoundPlugin
>  -arch i386 -mmacosx-version-min=10.4 -funroll-loops -fasm-blocks
> -finline-functions -mfpmath=sse -march=pentium-m -mtune=prescott
> -falign-functions=16 -fno-gcse -fno-cse-follow-jumps -std=gnu99 -g0
> -Os -fomit-frame-pointer -arch i386 -mmacosx-version-min=10.4
> -funroll-loops -fasm-blocks -finline-functions -mfpmath=sse
> -march=pentium-m -mtune=prescott -falign-functions=16 -fno-gcse
> -fno-cse-follow-jumps -std=gnu99 -g0 -Os -fomit-frame-pointer -include
> "/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/CogVM_Prefix.pch"
> -o
>
> as well as passing some of the options twice... :)
> Esteban can you check the config?
>
>
>>>
>>>
>>> see https://ci.lille.inria.fr/pharo/job/Cog-Mac-Cocoa/28/consoleFull and grep for "[ 38%] Building C object" for the detailed view.
>>>
>>>
>>>
>>
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

EstebanLM
In reply to this post by Igor Stasenko

Hi,

Sorry, I'm in the middle of a "moving earthquake"... running, running, running to finish everything for next week.
I will take a look as soon as I can sit down in my computer (maybe on friday).

Cheers,
Esteban

El 20/03/2012, a las 11:18p.m., Igor Stasenko escribió:

>
> On 21 March 2012 01:38, Eliot Miranda <[hidden email]> wrote:
>>
>>
>>
>> On Tue, Mar 20, 2012 at 2:30 PM, Camillo Bruni <[hidden email]> wrote:
>>>
>>>
>>>
>>> On 2012-03-20, at 20:11, Eliot Miranda wrote:
>>>
>>>> Hi Camillo,
>>>>
>>>> On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:
>>>>
>>>> I am quickly trying to limit the number of warnings we get when compiling cog.
>>>>
>>>> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
>>>> Furthermore it seems that cared about the following warning:
>>>>
>>>> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast
>>>>
>>>> what would be the easiest way to introduce an auto-cast for longAt and family?
>>>> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>>>>
>>>> This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are
>>>>
>>>> "bytecodeSetSelector" redefined
>>>> assignment makes integer from pointer without a cast
>>>> format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
>>>> ignoring asm-specifier for non-static local variable 'currentBytecode'
>>>> ignoring asm-specifier for non-static local variable 'localIP'
>>>> ignoring asm-specifier for non-static local variable 'localSP'
>>>> initialization from incompatible pointer type
>>>> left shift count >= width of type
>>>> passing argument 1 of 'printHex' makes integer from pointer without a cast
>>>> passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
>>>> return makes integer from pointer without a cast
>>>>
>>>> So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?
>>>
>>> I'm on mac using the standard setup we have on our jenkins server.
>>>
>>> gcc-4.2 --version
>>> i686-apple-darwin11-gcc-4.2.1
>>>
>>> I assume you disabled the following warnings?
>>> -Wno-pointer-to-int-cast
>>> -Wno-int-to-pointer-cast
>>
>>
>> Don't think so.  Here's my compile line as reported by xcodebuild:
>>
>>     /Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -DNDEBUG=1 -DCOGMTVM=0 -DDEBUGVM=0 -DUSE_GLOBAL_STRUCT=0 -DNO_ISNAN -DTARGET_API_MAC_CARBON -DSQUEAK_BUILTIN_PLUGIN -DHAVE_SYS_TIME_H -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Croquet.hmap -F/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols -I/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols/include -I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon -I/Users/eliot/Cog/oscogvm/macbuild -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources/i386 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources -c /Users/eliot/Cog/oscogvm/macbuild/../src/vm/gcc3x-cointerp.c -o /Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Objects-normal/i386/gcc3x-cointerp.o
>>
>>
>> But note I'm *not* defining USE_INLINE_MEMORY_ACCESSORS.  Are you using the same sqMemoryAccess.h as http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Cross/vm/sqMemoryAccess.h ?
>
> Yes. It is using it:
>
> cd /Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/SoundPlugin
> && /usr/bin/gcc  -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
> -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
> -DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
> -DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0
> -DSQUEAK_BUILTIN_PLUGIN -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
> -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
> -DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
> -DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0 -arch i386 -isysroot
> /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.5
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/unix/vm
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/Common/Classes
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/plugins/SoundPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX/plugins/SoundPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/SoundPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/HostWindowPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone/plugins/HostWindowPlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/FilePlugin
> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/plugins/SoundPlugin
>  -arch i386 -mmacosx-version-min=10.4 -funroll-loops -fasm-blocks
> -finline-functions -mfpmath=sse -march=pentium-m -mtune=prescott
> -falign-functions=16 -fno-gcse -fno-cse-follow-jumps -std=gnu99 -g0
> -Os -fomit-frame-pointer -arch i386 -mmacosx-version-min=10.4
> -funroll-loops -fasm-blocks -finline-functions -mfpmath=sse
> -march=pentium-m -mtune=prescott -falign-functions=16 -fno-gcse
> -fno-cse-follow-jumps -std=gnu99 -g0 -Os -fomit-frame-pointer -include
> "/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/CogVM_Prefix.pch"
> -o
>
> as well as passing some of the options twice... :)
> Esteban can you check the config?
>
>
>>>
>>>
>>> see https://ci.lille.inria.fr/pharo/job/Cog-Mac-Cocoa/28/consoleFull and grep for "[ 38%] Building C object" for the detailed view.
>>>
>>>
>>>
>>
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

Igor Stasenko

On 21 March 2012 12:40, Esteban Lorenzano <[hidden email]> wrote:
>
> Hi,
>
> Sorry, I'm in the middle of a "moving earthquake"... running, running, running to finish everything for next week.
> I will take a look as soon as I can sit down in my computer (maybe on friday).
>
just wanted to let you know.
perhaps we can fix it with camillo in closest days..
he wants to include SSL plugin into builds.. so we might also fix
configs as well.

> Cheers,
> Esteban
>
> El 20/03/2012, a las 11:18p.m., Igor Stasenko escribió:
>
>>
>> On 21 March 2012 01:38, Eliot Miranda <[hidden email]> wrote:
>>>
>>>
>>>
>>> On Tue, Mar 20, 2012 at 2:30 PM, Camillo Bruni <[hidden email]> wrote:
>>>>
>>>>
>>>>
>>>> On 2012-03-20, at 20:11, Eliot Miranda wrote:
>>>>
>>>>> Hi Camillo,
>>>>>
>>>>> On Tue, Mar 20, 2012 at 8:35 AM, Camillo Bruni <[hidden email]> wrote:
>>>>>
>>>>> I am quickly trying to limit the number of warnings we get when compiling cog.
>>>>>
>>>>> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
>>>>> Furthermore it seems that cared about the following warning:
>>>>>
>>>>> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ‘longAt’ makes integer from pointer without a cast
>>>>>
>>>>> what would be the easiest way to introduce an auto-cast for longAt and family?
>>>>> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
>>>>>
>>>>> This doesn't seem right to me.  I've attached the warnings I get when I compile Cog with gcc 4.2.1 (on Mac OS X).  There are 39 lines for about 20 warnings.  The unique warnings are
>>>>>
>>>>> "bytecodeSetSelector" redefined
>>>>> assignment makes integer from pointer without a cast
>>>>> format '%ld' expects type 'long int', but argument 2 has type 'sqInt'
>>>>> ignoring asm-specifier for non-static local variable 'currentBytecode'
>>>>> ignoring asm-specifier for non-static local variable 'localIP'
>>>>> ignoring asm-specifier for non-static local variable 'localSP'
>>>>> initialization from incompatible pointer type
>>>>> left shift count >= width of type
>>>>> passing argument 1 of 'printHex' makes integer from pointer without a cast
>>>>> passing argument 2 of 'sqAllocateMemoryMac' makes pointer from integer without a cast
>>>>> return makes integer from pointer without a cast
>>>>>
>>>>> So no warnings about longAt at all.  I wonder what is different between your compile environment and mine.  Are we both talking about Mac or are you on linux?
>>>>
>>>> I'm on mac using the standard setup we have on our jenkins server.
>>>>
>>>> gcc-4.2 --version
>>>> i686-apple-darwin11-gcc-4.2.1
>>>>
>>>> I assume you disabled the following warnings?
>>>> -Wno-pointer-to-int-cast
>>>> -Wno-int-to-pointer-cast
>>>
>>>
>>> Don't think so.  Here's my compile line as reported by xcodebuild:
>>>
>>>     /Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -DNDEBUG=1 -DCOGMTVM=0 -DDEBUGVM=0 -DUSE_GLOBAL_STRUCT=0 -DNO_ISNAN -DTARGET_API_MAC_CARBON -DSQUEAK_BUILTIN_PLUGIN -DHAVE_SYS_TIME_H -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Croquet.hmap -F/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols -I/Users/eliot/Cog/oscogvm/macbuild/build/DeploymentSymbols/include -I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon -I/Users/eliot/Cog/oscogvm/macbuild -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources/i386 -I/Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/DerivedSources -c /Users/eliot/Cog/oscogvm/macbuild/../src/vm/gcc3x-cointerp.c -o /Users/eliot/Cog/oscogvm/macbuild/build/CoreVM.build/DeploymentSymbols/Croquet.build/Objects-normal/i386/gcc3x-cointerp.o
>>>
>>>
>>> But note I'm *not* defining USE_INLINE_MEMORY_ACCESSORS.  Are you using the same sqMemoryAccess.h as http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Cross/vm/sqMemoryAccess.h ?
>>
>> Yes. It is using it:
>>
>> cd /Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/SoundPlugin
>> && /usr/bin/gcc  -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
>> -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
>> -DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
>> -DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0
>> -DSQUEAK_BUILTIN_PLUGIN -DHAVE_UUID_GENERATE -DBUILD_FOR_OSX
>> -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
>> -DHAVE_NANOSLEEP -DCOGMTVM=0 -DUSE_GLOBAL_STRUCT=0
>> -DBASE_HEADER_SIZE=4 -DCOGVM -DNDEBUG -DDEBUGVM=0 -arch i386 -isysroot
>> /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.5
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/vm
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/vm
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/unix/vm
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/Common/Classes
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/plugins/SoundPlugin
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/OSX/plugins/SoundPlugin
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/SoundPlugin
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/HostWindowPlugin
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/iOS/vm/iPhone/plugins/HostWindowPlugin
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/platforms/Cross/plugins/FilePlugin
>> -I/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/src/plugins/SoundPlugin
>>  -arch i386 -mmacosx-version-min=10.4 -funroll-loops -fasm-blocks
>> -finline-functions -mfpmath=sse -march=pentium-m -mtune=prescott
>> -falign-functions=16 -fno-gcse -fno-cse-follow-jumps -std=gnu99 -g0
>> -Os -fomit-frame-pointer -arch i386 -mmacosx-version-min=10.4
>> -funroll-loops -fasm-blocks -finline-functions -mfpmath=sse
>> -march=pentium-m -mtune=prescott -falign-functions=16 -fno-gcse
>> -fno-cse-follow-jumps -std=gnu99 -g0 -Os -fomit-frame-pointer -include
>> "/Users/hudson/jenkins/workspace/Cog-Mac-Cocoa/cog/build/CogVM_Prefix.pch"
>> -o
>>
>> as well as passing some of the options twice... :)
>> Esteban can you check the config?
>>
>>
>>>>
>>>>
>>>> see https://ci.lille.inria.fr/pharo/job/Cog-Mac-Cocoa/28/consoleFull and grep for "[ 38%] Building C object" for the detailed view.
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> best,
>>> Eliot
>>>
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko.
>



--
Best regards,
Igor Stasenko.
Reply | Threaded
Open this post in threaded view
|

Re: limiting compiler warnings...

David T. Lewis
In reply to this post by stephane ducasse-2
 
On Wed, Mar 21, 2012 at 09:45:04AM +0100, stephane ducasse wrote:

>
> >> I am quickly trying to limit the number of warnings we get when compiling cog.
> >>
> >> The current output is amazingly verbose, and utterly useless when looking for possible bugs :/.
> >> Furthermore it seems that cared about the following warning:
> >>
> >> /Users/cami-data/education/phd/project/cog/dh83s-blessed/src/vm/gcc3x-cointerp.c:2066: warning: passing argument 1 of ?longAt? makes integer from pointer without a cast
> >>
> >> what would be the easiest way to introduce an auto-cast for longAt and family?
> >> I think the easiest solution would be to reintroduce the macros that are currently disabled, no?
> >
> > That is a Really Bad Idea. If the warnings are bothering you, then just
> > relax and have a cup of tea. But they exist for a reason, and if you
> > ever want to get the type declarations right, you will want to pay
> > attention to the what the compiler is telling you. If you think there
> > are too many warnings, then put your energy into addressing the type
> > declaration issues that produce the warnings.
>
> Dave
>
> (non aggressive) Are vm maintainers interested in getting less warning?
> Because then it would be really a nice effort to push.

Yes, sure. Working through those compiler warnings have been a huge
part of the efforts to resolve 32/64 bit problems in the VM and in
plugins, and in making the VM capable of supporting larger object
memories. Not all of the warnings point to real problems in practice,
but in general it is good to look at each warning to understand
root cause, add type declarations where appropriate, and fix problems
when there is a real issue. There are still plenty of issues to be
fixed in plugins (for example, see Mantis for the SurfacePlugin issue,
that is a real challenging one). There is also an important FFI issue
on Mantis. The fixes probably have bit rot now, but I think the underlying
issues will certainly affect alien and the new FFI implementations on
64-bit platforms, so that is a good one to work on too.

Dave