Fix compilation warnings in macOS build, enable warnings=extra werror=yes for macOS CI.

This commit is contained in:
bruvzg 2019-10-24 17:34:18 +03:00
parent 79dae3a87e
commit 7b64340eb0
No known key found for this signature in database
GPG key ID: 89DD917D9CE4218D
18 changed files with 36 additions and 65 deletions

View file

@ -74,7 +74,7 @@ matrix:
- name: macOS editor (debug, Clang) - name: macOS editor (debug, Clang)
stage: build stage: build
env: PLATFORM=osx TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-clang env: PLATFORM=osx TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-clang EXTRA_ARGS="warnings=extra werror=yes"
os: osx os: osx
compiler: clang compiler: clang

View file

@ -186,15 +186,15 @@ OSStatus AudioDriverCoreAudio::output_callback(void *inRefCon,
for (unsigned int i = 0; i < ioData->mNumberBuffers; i++) { for (unsigned int i = 0; i < ioData->mNumberBuffers; i++) {
AudioBuffer *abuf = &ioData->mBuffers[i]; AudioBuffer *abuf = &ioData->mBuffers[i];
int frames_left = inNumberFrames; unsigned int frames_left = inNumberFrames;
int16_t *out = (int16_t *)abuf->mData; int16_t *out = (int16_t *)abuf->mData;
while (frames_left) { while (frames_left) {
int frames = MIN(frames_left, ad->buffer_frames); unsigned int frames = MIN(frames_left, ad->buffer_frames);
ad->audio_server_process(frames, ad->samples_in.ptrw()); ad->audio_server_process(frames, ad->samples_in.ptrw());
for (int j = 0; j < frames * ad->channels; j++) { for (unsigned int j = 0; j < frames * ad->channels; j++) {
out[j] = ad->samples_in[j] >> 16; out[j] = ad->samples_in[j] >> 16;
} }
@ -231,7 +231,7 @@ OSStatus AudioDriverCoreAudio::input_callback(void *inRefCon,
OSStatus result = AudioUnitRender(ad->input_unit, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, &bufferList); OSStatus result = AudioUnitRender(ad->input_unit, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, &bufferList);
if (result == noErr) { if (result == noErr) {
for (int i = 0; i < inNumberFrames * ad->capture_channels; i++) { for (unsigned int i = 0; i < inNumberFrames * ad->capture_channels; i++) {
int32_t sample = ad->input_buf[i] << 16; int32_t sample = ad->input_buf[i] << 16;
ad->capture_buffer_write(sample); ad->capture_buffer_write(sample);

View file

@ -39,7 +39,7 @@
void MIDIDriverCoreMidi::read(const MIDIPacketList *packet_list, void *read_proc_ref_con, void *src_conn_ref_con) { void MIDIDriverCoreMidi::read(const MIDIPacketList *packet_list, void *read_proc_ref_con, void *src_conn_ref_con) {
MIDIPacket *packet = const_cast<MIDIPacket *>(packet_list->packet); MIDIPacket *packet = const_cast<MIDIPacket *>(packet_list->packet);
for (int i = 0; i < packet_list->numPackets; i++) { for (UInt32 i = 0; i < packet_list->numPackets; i++) {
receive_input_packet(packet->timeStamp, packet->data, packet->length); receive_input_packet(packet->timeStamp, packet->data, packet->length);
packet = MIDIPacketNext(packet); packet = MIDIPacketNext(packet);
} }

View file

@ -126,7 +126,9 @@ void OS_Unix::initialize_core() {
RWLockDummy::make_default(); RWLockDummy::make_default();
#else #else
ThreadPosix::make_default(); ThreadPosix::make_default();
#if !defined(OSX_ENABLED) && !defined(IPHONE_ENABLED)
SemaphorePosix::make_default(); SemaphorePosix::make_default();
#endif
MutexPosix::make_default(); MutexPosix::make_default();
RWLockPosix::make_default(); RWLockPosix::make_default();
#endif #endif

View file

@ -30,7 +30,7 @@
#include "semaphore_posix.h" #include "semaphore_posix.h"
#if defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED) #if (defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED)) && !defined(OSX_ENABLED) && !defined(IPHONE_ENABLED)
#include "core/os/memory.h" #include "core/os/memory.h"
#include <errno.h> #include <errno.h>

View file

@ -33,7 +33,7 @@
#include "core/os/semaphore.h" #include "core/os/semaphore.h"
#if defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED) #if (defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED)) && !defined(OSX_ENABLED) && !defined(IPHONE_ENABLED)
#include <semaphore.h> #include <semaphore.h>

View file

@ -76,7 +76,7 @@ public:
CMMNotificationClient() : CMMNotificationClient() :
_cRef(1), _cRef(1),
_pEnumerator(NULL) {} _pEnumerator(NULL) {}
~CMMNotificationClient() { virtual ~CMMNotificationClient() {
if ((_pEnumerator) != NULL) { if ((_pEnumerator) != NULL) {
(_pEnumerator)->Release(); (_pEnumerator)->Release();
(_pEnumerator) = NULL; (_pEnumerator) = NULL;

View file

@ -79,8 +79,6 @@
@property(strong, nonatomic) AVPlayer *avPlayer; @property(strong, nonatomic) AVPlayer *avPlayer;
@property(strong, nonatomic) AVPlayerLayer *avPlayerLayer; @property(strong, nonatomic) AVPlayerLayer *avPlayerLayer;
// Old videoplayer properties
@property(strong, nonatomic) MPMoviePlayerController *moviePlayerController;
@property(strong, nonatomic) UIWindow *backgroundWindow; @property(strong, nonatomic) UIWindow *backgroundWindow;
@property(nonatomic) UITextAutocorrectionType autocorrectionType; @property(nonatomic) UITextAutocorrectionType autocorrectionType;

View file

@ -729,40 +729,4 @@ static void clear_touches() {
_stop_video(); _stop_video();
} }
/*
- (void)moviePlayBackDidFinish:(NSNotification*)notification {
NSNumber* reason = [[notification userInfo] objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey];
switch ([reason intValue]) {
case MPMovieFinishReasonPlaybackEnded:
//NSLog(@"Playback Ended");
break;
case MPMovieFinishReasonPlaybackError:
//NSLog(@"Playback Error");
video_found_error = true;
break;
case MPMovieFinishReasonUserExited:
//NSLog(@"User Exited");
video_found_error = true;
break;
default:
//NSLog(@"Unsupported reason!");
break;
}
MPMoviePlayerController *player = [notification object];
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[_instance.moviePlayerController stop];
[_instance.moviePlayerController.view removeFromSuperview];
video_playing = false;
}
*/
@end @end

View file

@ -47,7 +47,7 @@ int iphone_main(int, int, int, char **, String);
int iphone_main(int width, int height, int argc, char **argv, String data_dir) { int iphone_main(int width, int height, int argc, char **argv, String data_dir) {
int len = strlen(argv[0]); size_t len = strlen(argv[0]);
while (len--) { while (len--) {
if (argv[0][len] == '/') break; if (argv[0][len] == '/') break;

View file

@ -92,7 +92,7 @@ void InAppStore::_bind_methods() {
PoolStringArray localized_prices; PoolStringArray localized_prices;
PoolStringArray currency_codes; PoolStringArray currency_codes;
for (int i = 0; i < [products count]; i++) { for (NSUInteger i = 0; i < [products count]; i++) {
SKProduct *product = [products objectAtIndex:i]; SKProduct *product = [products objectAtIndex:i];

View file

@ -150,8 +150,8 @@
{ {
// do Y // do Y
int new_width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 0); size_t new_width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 0);
int new_height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 0); size_t new_height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 0);
if ((width[0] != new_width) || (height[0] != new_height)) { if ((width[0] != new_width) || (height[0] != new_height)) {
width[0] = new_width; width[0] = new_width;
@ -168,8 +168,8 @@
{ {
// do CbCr // do CbCr
int new_width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 1); size_t new_width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 1);
int new_height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 1); size_t new_height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 1);
if ((width[1] != new_width) || (height[1] != new_height)) { if ((width[1] != new_width) || (height[1] != new_height)) {
width[1] = new_width; width[1] = new_width;

View file

@ -95,7 +95,7 @@ static void handle_crash(int sig) {
if (strings) { if (strings) {
void *load_addr = (void *)load_address(); void *load_addr = (void *)load_address();
for (int i = 1; i < size; i++) { for (size_t i = 1; i < size; i++) {
char fname[1024]; char fname[1024];
Dl_info info; Dl_info info;
@ -142,7 +142,7 @@ static void handle_crash(int sig) {
} }
} }
fprintf(stderr, "[%d] %ls\n", i, output.c_str()); fprintf(stderr, "[%zu] %ls\n", i, output.c_str());
} }
free(strings); free(strings);

View file

@ -91,6 +91,9 @@ def configure(env):
env['RANLIB'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib" env['RANLIB'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib"
env['AS'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as" env['AS'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as"
env.Append(CPPDEFINES=['__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define env.Append(CPPDEFINES=['__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define
else:
env['CC'] = 'clang'
env['CXX'] = 'clang++'
detect_darwin_sdk_path('osx', env) detect_darwin_sdk_path('osx', env)
env.Append(CCFLAGS=['-isysroot', '$MACOS_SDK_PATH']) env.Append(CCFLAGS=['-isysroot', '$MACOS_SDK_PATH'])

View file

@ -578,7 +578,7 @@ JoypadOSX::JoypadOSX() {
const size_t n_elements = sizeof(vals) / sizeof(vals[0]); const size_t n_elements = sizeof(vals) / sizeof(vals[0]);
CFArrayRef array = okay ? CFArrayCreate(kCFAllocatorDefault, vals, n_elements, &kCFTypeArrayCallBacks) : NULL; CFArrayRef array = okay ? CFArrayCreate(kCFAllocatorDefault, vals, n_elements, &kCFTypeArrayCallBacks) : NULL;
for (int i = 0; i < n_elements; i++) { for (size_t i = 0; i < n_elements; i++) {
if (vals[i]) { if (vals[i]) {
CFRelease((CFTypeRef)vals[i]); CFRelease((CFTypeRef)vals[i]);
} }

View file

@ -31,6 +31,8 @@
#ifndef OS_OSX_H #ifndef OS_OSX_H
#define OS_OSX_H #define OS_OSX_H
#define BitMap _QDBitMap // Suppress deprecated QuickDraw definition.
#include "camera_osx.h" #include "camera_osx.h"
#include "core/os/input.h" #include "core/os/input.h"
#include "crash_handler_osx.h" #include "crash_handler_osx.h"
@ -50,6 +52,7 @@
#include <ApplicationServices/ApplicationServices.h> #include <ApplicationServices/ApplicationServices.h>
#include <CoreVideo/CoreVideo.h> #include <CoreVideo/CoreVideo.h>
#undef BitMap
#undef CursorShape #undef CursorShape
class OS_OSX : public OS_Unix { class OS_OSX : public OS_Unix {

View file

@ -620,7 +620,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
NSArray *filenames = [pboard propertyListForType:NSFilenamesPboardType]; NSArray *filenames = [pboard propertyListForType:NSFilenamesPboardType];
Vector<String> files; Vector<String> files;
for (int i = 0; i < filenames.count; i++) { for (NSUInteger i = 0; i < filenames.count; i++) {
NSString *ns = [filenames objectAtIndex:i]; NSString *ns = [filenames objectAtIndex:i];
char *utfs = strdup([ns UTF8String]); char *utfs = strdup([ns UTF8String]);
String ret; String ret;
@ -1502,7 +1502,7 @@ Error OS_OSX::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
[window_object setContentView:window_view]; [window_object setContentView:window_view];
[window_object setDelegate:window_delegate]; [window_object setDelegate:window_delegate];
[window_object setAcceptsMouseMovedEvents:YES]; [window_object setAcceptsMouseMovedEvents:YES];
[window_object center]; [(NSWindow *)window_object center];
[window_object setRestorable:NO]; [window_object setRestorable:NO];
@ -2338,12 +2338,12 @@ void OS_OSX::set_current_screen(int p_screen) {
}; };
Point2 OS_OSX::get_native_screen_position(int p_screen) const { Point2 OS_OSX::get_native_screen_position(int p_screen) const {
if (p_screen == -1) { if (p_screen < 0) {
p_screen = get_current_screen(); p_screen = get_current_screen();
} }
NSArray *screenArray = [NSScreen screens]; NSArray *screenArray = [NSScreen screens];
if (p_screen < [screenArray count]) { if ((NSUInteger)p_screen < [screenArray count]) {
float display_scale = _display_scale([screenArray objectAtIndex:p_screen]); float display_scale = _display_scale([screenArray objectAtIndex:p_screen]);
NSRect nsrect = [[screenArray objectAtIndex:p_screen] frame]; NSRect nsrect = [[screenArray objectAtIndex:p_screen] frame];
// Return the top-left corner of the screen, for OS X the y starts at the bottom // Return the top-left corner of the screen, for OS X the y starts at the bottom
@ -2362,12 +2362,12 @@ Point2 OS_OSX::get_screen_position(int p_screen) const {
} }
int OS_OSX::get_screen_dpi(int p_screen) const { int OS_OSX::get_screen_dpi(int p_screen) const {
if (p_screen == -1) { if (p_screen < 0) {
p_screen = get_current_screen(); p_screen = get_current_screen();
} }
NSArray *screenArray = [NSScreen screens]; NSArray *screenArray = [NSScreen screens];
if (p_screen < [screenArray count]) { if ((NSUInteger)p_screen < [screenArray count]) {
float displayScale = _display_scale([screenArray objectAtIndex:p_screen]); float displayScale = _display_scale([screenArray objectAtIndex:p_screen]);
NSDictionary *description = [[screenArray objectAtIndex:p_screen] deviceDescription]; NSDictionary *description = [[screenArray objectAtIndex:p_screen] deviceDescription];
NSSize displayPixelSize = [[description objectForKey:NSDeviceSize] sizeValue]; NSSize displayPixelSize = [[description objectForKey:NSDeviceSize] sizeValue];
@ -2381,12 +2381,12 @@ int OS_OSX::get_screen_dpi(int p_screen) const {
} }
Size2 OS_OSX::get_screen_size(int p_screen) const { Size2 OS_OSX::get_screen_size(int p_screen) const {
if (p_screen == -1) { if (p_screen < 0) {
p_screen = get_current_screen(); p_screen = get_current_screen();
} }
NSArray *screenArray = [NSScreen screens]; NSArray *screenArray = [NSScreen screens];
if (p_screen < [screenArray count]) { if ((NSUInteger)p_screen < [screenArray count]) {
float displayScale = _display_scale([screenArray objectAtIndex:p_screen]); float displayScale = _display_scale([screenArray objectAtIndex:p_screen]);
// Note: Use frame to get the whole screen size // Note: Use frame to get the whole screen size
NSRect nsrect = [[screenArray objectAtIndex:p_screen] frame]; NSRect nsrect = [[screenArray objectAtIndex:p_screen] frame];

View file

@ -81,7 +81,9 @@ class OS_Windows : public OS {
KEY_EVENT_BUFFER_SIZE = 512 KEY_EVENT_BUFFER_SIZE = 512
}; };
#ifdef STDOUT_FILE
FILE *stdo; FILE *stdo;
#endif
struct KeyEvent { struct KeyEvent {
@ -107,7 +109,6 @@ class OS_Windows : public OS {
VisualServer *visual_server; VisualServer *visual_server;
CameraWindows *camera_server; CameraWindows *camera_server;
int pressrc; int pressrc;
HDC hDC; // Private GDI Device Context
HINSTANCE hInstance; // Holds The Instance Of The Application HINSTANCE hInstance; // Holds The Instance Of The Application
HWND hWnd; HWND hWnd;
Point2 last_pos; Point2 last_pos;