Hi Truls,
Le 3 juin 09 à 22:38, Truls Becken a écrit :
> Hi,
>
> Is anybody else using GCC 4.4?
Not yet.
> I had to do the following changes to
> make Étoilé compile today.
>
> Most of the errors are because of possibly uninitialized variables.
> The code is probably not finished here, though, because in all three
> places below, the variables actually never get set.
Yes, the IconKit code is unfinished and needs to be improved/reworked
in many places.
UKPluginsRegistry code needs to be revised too.
> There is also one I did not include in the diff; ETUUID uses an
> uninitialized variable on purpose to generate a random seed (as a
> fallback in case /dev/random does not work). GCC 4.4 does not like
> that.
ok.
> The stdio.h in CodeGen is because the LOG macro uses fprintf and
> stderr.
>
> Cheers,
> Truls
>
> UKPluginsRegistry.m Languages/LanguageKit/CodeGen/CodeGenModule.h
> Index: Frameworks/IconKit/Source/IKApplicationIconProvider.m
> ===================================================================
> --- Frameworks/IconKit/Source/IKApplicationIconProvider.m
> (revision 4747)
> +++ Frameworks/IconKit/Source/IKApplicationIconProvider.m
> (working copy)
> @@ -253,7 +253,7 @@
> NSString *path;
> NSString *subpath;
> NSString *pathComponent = [_path md5Hash];
> - BOOL result;
> + BOOL result = NO;
>
> pathComponent = [pathComponent stringByAppendingPathExtension:
> @"tiff"];
>
> Index: Frameworks/IconKit/Source/IKThumbnailProvider.m
> ===================================================================
> --- Frameworks/IconKit/Source/IKThumbnailProvider.m (revision
> 4747)
> +++ Frameworks/IconKit/Source/IKThumbnailProvider.m (working copy)
> @@ -170,7 +170,7 @@
> NSString *subpath;
> NSString *pathComponent = [url absoluteString];
> NSString *pathComponentHash = [pathComponent md5Hash];
> - BOOL result;
> + BOOL result = NO;
>
> path = [self _thumbnailsPath];
> subpath = [path stringByAppendingPathComponent: @"large"];
In the two previous cases, the correct fix is to assign what
NSFileManager operation-related calls return to the 'result' variable.
I'll fix that.
>
> Index: Frameworks/EtoileFoundation/Source/UKPluginsRegistry.m
> ===================================================================
> --- Frameworks/EtoileFoundation/Source/UKPluginsRegistry.m
> (revision 4747)
> +++ Frameworks/EtoileFoundation/Source/UKPluginsRegistry.m
> (working copy)
> @@ -258,7 +258,7 @@
> {
> NSBundle *bundle = [NSBundle bundleWithPath: path];
> NSString *identifier;
> - id image;
> + id image = [NSNull null];
> NSString *name;
An assignment is missing here, this should be:
image = [self loadIconForPath:iconPath];
^^^^^^^
/* When image loading has failed, we set its value to null object in
in order to be able to create info dictionary without glitches a 'nil'
value would produce (like subsequent elements being ignored). */
if (image == nil)
image = [NSNull null];
> /* We retrieve plugin's name */
> Index: Languages/LanguageKit/CodeGen/CodeGenModule.h
> ===================================================================
> --- Languages/LanguageKit/CodeGen/CodeGenModule.h (revision
> 4747)
> +++ Languages/LanguageKit/CodeGen/CodeGenModule.h (working copy)
> @@ -1,6 +1,7 @@
> #ifndef __CODE_GEN_MODULE__INCLUDED__
> #define __CODE_GEN_MODULE__INCLUDED__
> #include "CGObjCRuntime.h"
> +#include <stdio.h>
>
> namespace llvm {
> class BasicBlock;
Looks ok, although I don't understand/know which change in GCC has
triggered the need to now explicitely include the header. Anybody has
an idea?
I'll commit these fixes and take a look at ETUUID too. Thanks for the
compilation report :-)
Quentin.
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev