Open
Conversation
Fix various type differences (BOOL vs. BOOL* etc.) that cause compile failures with clang 18.1.8
QHivert
reviewed
Aug 14, 2024
| } | ||
|
|
||
| [ud setObject: [NSNumber numberWithUnsignedLongLong: [up getCDefaultsSize]] forKey: @"CDefaultsSize"]; // Add c_defaults field size | ||
| [ud setObject: [NSNumber numberWithUnsignedLongLong: (unsigned long long)[up getCDefaultsSize]] forKey: @"CDefaultsSize"]; // Add c_defaults field size |
Contributor
There was a problem hiding this comment.
Are you sure this cause a build falied? as this method is already defined as
- (unsigned long long)getCDefaultsSize;
Author
There was a problem hiding this comment.
Without this, I get
Compiling file SOGoUserDefaults.m ...
SOGoUserDefaults.m:92:60: warning: instance method '-getCDefaultsSize' not found (return type defaults to 'id') [-Wobjc-method-access]
92 | [ud setObject: [NSNumber numberWithUnsignedLongLong: [up getCDefaultsSize]] forKey: @"CDefaultsSize"]; // Add c_defaults field size
| ^~~~~~~~~~~~~~~~
./SOGoUserProfile.h:44:12: note: receiver is instance of class declared here
44 | @interface SOGoUserProfile : NSObject
| ^
SOGoUserDefaults.m:92:56: error: incompatible pointer to integer conversion sending 'id' to parameter of type 'unsigned long long' [-Wint-conversion]
92 | [ud setObject: [NSNumber numberWithUnsignedLongLong: [up getCDefaultsSize]] forKey: @"CDefaultsSize"]; // Add c_defaults field size
| ^~~~~~~~~~~~~~~~~~~~~
/usr/include/Foundation/NSValue.h:205:63: note: passing argument to parameter 'value' here
205 | + (NSNumber*) numberWithUnsignedLongLong: (unsigned long long)value;
| ^
1 warning and 1 error generated.
QHivert
reviewed
Aug 14, 2024
Contributor
QHivert
left a comment
There was a problem hiding this comment.
Could you check that the two modifs in comments indeed cause a build failure?
| } | ||
|
|
||
| static NSInteger _compareFetchResultsByUID (id entry1, id entry2, NSDictionary *uids) | ||
| static NSComparisonResult _compareFetchResultsByUID (id entry1, id entry2, void *uidsp) |
Contributor
There was a problem hiding this comment.
Not sure to understand the utility the void* then the NSDictionnary* casting? Can you check again if this causes a fail?
Author
There was a problem hiding this comment.
Without this:
SOGoMailFolder.m:233:52: error: incompatible function pointer types sending 'NSInteger (id, id, NSDictionary *)' (aka 'long (id, id, NSDictionary *)') to parameter of type 'NSComparisonResult (*)(id, id, void *)' (aka 'enum NSComparisonResult (*)(id, id, void *)') [-Wincompatible-function-pointer-types]
233 | result = [fetchResults sortedArrayUsingFunction: _compareFetchResultsByUID
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/Foundation/NSArray.h:145:44: note: passing argument to parameter 'comparator' here
145 | (NSComparisonResult (*)(id, id, void*))comparator
| ^
Contributor
|
@berolinux Hello, I've actually need to push the corrections on the (BOOL *) -> (BOOL). Could you make the adjustements on your PR? Or I can make a commit myself and credit you if you don't have the time. |
e4c98fd to
2258d5c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix various type differences (BOOL vs. BOOL* etc.) that cause compile failures with clang 18.1.8
https://bugs.sogo.nu/view.php?id=5997