Граф коммитов

7380 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge d354048c65
Automatically build mono from source if any of the archives aren't available. (#7160) (#7180)
* Automatically build mono from source if any of the archives aren't available.

* [jenkins] Show in the PR report if mono was built from source.

* [jenkins] Make sure we got everything after running configure.
2019-10-07 16:32:00 +02:00
Vũ Đức Tuyến fec41fa64a Fix #7174: ArgumentNullException for NSExpression.FromConstant (#7181)
* - Add missing NullAllowed attribute
- Add unit test for null value

* Normalize coding style
2019-10-07 14:09:17 +02:00
monojenkins c7830a082f [bcl-tests] Ignore test that's running out of memory (#7138)
- First appeared here: https://github.com/xamarin/xamarin-macios/pull/7127#issuecomment-536688551
- Mono issue filed here: https://github.com/mono/mono/issues/17129
2019-10-04 14:57:22 -04:00
Alexander Köplinger 12831b3c36 Fix version numbers in FrameworkList.xml files (#7161)
The existing test only checked that an assembly was mentioned in the file, but not that its version etc matches.
Updated the test and fixed the differences.
2019-10-04 14:26:28 -04:00
Rolf Bjarne Kvinge bffca7df7b
[tests] Fix building the test libraries. (#7172)
Fix building the test libraries so that the native compiler gets passed the
right arguments (which makes us build the tvOS and watchOS versions of these
libraries with bitcode).

This fixes a build problem with the framework-test test for tvOS and watchOS.

Also remove an outdated comment.
2019-10-04 16:51:12 +02:00
Sebastien Pouliot 02b546ffc1
[registrar] Fix assignation of `value` to IsConstructor (#7167)
It does not look like an issue, at least today, since it's always set to
`false` but better fix it before it becomes an hard to debug issue

```
$ git grep "IsConstructor = "
src/ObjCRuntime/Registrar.cs:                                                           IsConstructor = false,
src/ObjCRuntime/Registrar.cs:                                                                   IsConstructor = false,
src/ObjCRuntime/Registrar.cs:                                                   IsConstructor = false,
```
2019-10-04 08:56:33 -04:00
Rolf Bjarne Kvinge 4e5a2a3fc2
Automatically build mono from source if any of the archives aren't available. (#7160)
* Automatically build mono from source if any of the archives aren't available.

* [jenkins] Show in the PR report if mono was built from source.

* [jenkins] Make sure we got everything after running configure.
2019-10-04 09:55:29 +02:00
Vincent Dondain 2600739f54
[bcl-tests] Ignore test that's running out of memory (#7137)
- First appeared here: https://github.com/xamarin/xamarin-macios/pull/7127#issuecomment-536688551
- Mono issue filed here: https://github.com/mono/mono/issues/17129
2019-10-03 18:21:23 -04:00
Rolf Bjarne Kvinge 8128976084
[runtime] Split the build differently: build libraries for simulator and device separately. (#7143)
This has a couple of advantages:

* It makes it easier to add a catalyst version of these libraries (because it
  becomes cumbersome to build for catalyst when the build rules assumes we're
  building for both simulator and device).
* It makes it easier to create an xcframework of our libraries, because the
  contents in an xcframework is split like this.
2019-10-03 16:38:44 +02:00
Manuel de la Pena 718f57f7ad
[Tests] Ignore some tests when using the interpreter (#7158)
Some tests do fail with the interpreter on tvOS. Ignoring them only
there.

Fixes https://github.com/xamarin/maccore/issues/1909
2019-10-02 18:12:20 -04:00
monojenkins dcad385e4e [monotouch-test] Fix UrlProtocolTest after a server we don't control changed its output. Fixes xamarin/maccore#2006. (#7156)
microsoft.com is doing user agent sniffing, and broke our our test since their
output is now different. Switch to example.com instead.

Fixes https://github.com/xamarin/maccore/issues/2006.
2019-10-02 18:08:18 +02:00
monojenkins c7d9fc10f8 [d16-4] [AppKit] Add missing Accessibility protocols. (#7146)
* [AppKit] Add missing Accessibility protocols.

This commit adds a few protocols that were missing. It is interesting to
mention that there are two of the protocols that are decorated with
NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION, as per Apple documentation
this means that:

'Unlike normal protocols, when you adopt one of the role-specific protocols,
 Xcode may ask you to reimplement methods that have already been implemented
 by one of your ancestors.

 In order to ensure that your control returns accurate and useful information,
 some methods are tagged with the NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION
 attribute. For these methods, you need to override your superclass’s
 implementation with your own.
'

In this case, we need to add the methods from all the parent classes and
set them to be [Abstract] since they are required. Not all methods have
to be added ONLY the required ones.

fixes: https://github.com/xamarin/xamarin-macios/issues/7079

* Remove the new methods.
2019-10-02 11:04:41 -05:00
monojenkins bc35a27aad [monotouch-test] Fix UrlProtocolTest after a server we don't control changed its output. Fixes xamarin/maccore#2006. (#7155)
microsoft.com is doing user agent sniffing, and broke our our test since their
output is now different. Switch to example.com instead.

Fixes https://github.com/xamarin/maccore/issues/2006.
2019-10-02 16:50:08 +02:00
Sebastien Pouliot 82b84d0c8f
[linker] Ensure we can remove NSUrlSessionHandler if unused (#7151)
Moving `NSUrlSessionHandler` into the platform assemblies (e.g.
Xamarin.iOS.dll) instead of System.Net.Http.dll was not optimal as it
prevented the linker to remove it when the application did not use it.

This shows a lot in an "helloworld" type of application (see below)
but in real life most of the removed code gets used by something else
(and is included.

```
Directories / Files                                                              helloworld-d16-4.app helloworld-fixed.app         diff            %
./
        AppIcon60x60@2x.png                                                             2,632        2,632            0       0.00 %
        AppIcon76x76@2x~ipad.png                                                        3,125        3,125            0       0.00 %
        archived-expanded-entitlements.xcent                                              181          181            0       0.00 %
        Assets.car                                                                     75,688       75,688            0       0.00 %
        embedded.mobileprovision                                                        8,456        8,456            0       0.00 %
        helloworld                                                                  4,700,256    3,915,936     -784,320     -16.69 %
        helloworld.aotdata.arm64                                                        1,448        1,432          -16      -1.10 %
        helloworld.exe                                                                  6,144        6,144            0       0.00 %
        Info.plist                                                                      1,712        1,712            0       0.00 %
        mscorlib.aotdata.arm64                                                        406,080      364,104      -41,976     -10.34 %
        mscorlib.dll                                                                  561,664      501,760      -59,904     -10.67 %
        NOTICE                                                                            159          159            0       0.00 %
        PkgInfo                                                                             8            8            0       0.00 %
        System.aotdata.arm64                                                           17,008          936      -16,072     -94.50 %
        System.Core.aotdata.arm64                                                       2,432            0       -2,432    -100.00 %
        System.Core.dll                                                                 4,608            0       -4,608    -100.00 %
        System.dll                                                                     32,768        5,120      -27,648     -84.38 %
        System.Net.Http.aotdata.arm64                                                  31,648            0      -31,648    -100.00 %
        System.Net.Http.dll                                                            29,184            0      -29,184    -100.00 %
        Xamarin.iOS.aotdata.arm64                                                      62,544       33,464      -29,080     -46.50 %
        Xamarin.iOS.dll                                                                92,672       53,248      -39,424     -42.54 %
./_CodeSignature
        CodeResources                                                                   7,575        6,655         -920     -12.15 %
./LaunchScreen.storyboardc
        01J-lp-oVM-view-Ze5-6b-2t3.nib                                                  1,831        1,835            4       0.22 %
        Info.plist                                                                        258          258            0       0.00 %
        UIViewController-01J-lp-oVM.nib                                                   896          896            0       0.00 %
./Main.storyboardc
        BYZ-38-t0r-view-8bC-Xf-vdC.nib                                                  1,836        1,832           -4      -0.22 %
        Info.plist                                                                        258          258            0       0.00 %
        UIViewController-BYZ-38-t0r.nib                                                   916          916            0       0.00 %

Statistics

Native subtotal                                                                     4,700,256    3,915,936     -784,320     -16.69 %
    Executable                                                                      4,700,256    3,915,936     -784,320     -16.69 %
    AOT data *.aotdata                                                                      0            0            0          -

Managed *.dll/exe                                                                     727,040      566,272     -160,768     -22.11 %

TOTAL                                                                               6,053,987    4,986,755   -1,067,232     -17.63 %
```
2019-10-02 10:10:26 -04:00
Rolf Bjarne Kvinge 41c6fa029d
[monotouch-test] Fix UrlProtocolTest after a server we don't control changed its output. Fixes xamarin/maccore#2006. (#7154)
microsoft.com is doing user agent sniffing, and broke our our test since their
output is now different. Switch to example.com instead.

Fixes https://github.com/xamarin/maccore/issues/2006.
2019-10-02 15:59:31 +02:00
monojenkins d45ad36c66 Bump mono to 2019-08@528103728fc2aedb7b6062e11255d39a0ed3f31c to add missing NS2.1 APIs (#7150)
See https://github.com/mono/mono/issues/17064.

The 2019-08 version of the fix adds a new assembly with NS2.1 APIs that we stubbed out in 2019-06: System.Data.DataSetExtensions.dll
2019-10-02 08:08:41 -04:00
Alexander Köplinger fb1f73ef57 Bump mono to 2019-08@528103728fc2aedb7b6062e11255d39a0ed3f31c to add missing NS2.1 APIs (#7147)
See https://github.com/mono/mono/issues/17064.

The 2019-08 version of the fix adds a new assembly with NS2.1 APIs that we stubbed out in 2019-06: System.Data.DataSetExtensions.dll
2019-10-02 07:59:39 -04:00
Alex Soto 8611f72b46
[d16-4] maccore bump to get devops fix (#7144) 2019-10-01 11:10:39 -04:00
Vincent Dondain d81f05feab
[SceneKit] Update for Xcode 11 (#7140) 2019-10-01 10:55:49 -04:00
Rolf Bjarne Kvinge 4d5d38be02
Drop the Xcode 9.4 dependency. (#7044) (#7135)
* Drop the Xcode 9.4 dependency. (#7044)

* Drop the Xcode 9.4 dependency.

Also bump mono to get the removal of the mac32 binaries.

New commits in mono/mono:

* mono/mono@beb9a1b182 [sdks] Remove the mac32 build.
* mono/mono@747a919a06 [ci] Make ios/mac sdks archive URL more predictable
* mono/mono@114013096e [ci] Build iOS/Mac Mono sdks archive using Xcode 11
* mono/mono@10a24f3ea1 Implement WriteCore and ReadCore in DeflateStream
* mono/mono@a925846b1f [offsets-tool] Install clang into the user-specific python directory. (#16933)
* mono/mono@fe64a4765e [2019-06] Bump msbuild and sdk versions to 3.0.1xx latest (#16870)
* mono/mono@7293597b90 [corlib] Fix building nunit-lite twice (#16910)
* mono/mono@1648e88687 Rename bundle identifier for the various Mono.frameworks we create for Xamarin.iOS. Fixes xamarin/xamarin-macios#7005. (#16896)
* mono/mono@a6b5187d76 [metadata] Fix leaks when handling a few attributes (#16675) (#16851)
* mono/mono@7da9a041b3 [2019-06] Bump to mono/corefx@e79cf5b
* mono/mono@2b7050bdf3 [2019-06] Add RenamedEvent* to FSW sources from CoreFX (#16758)
* mono/mono@4f5ed502c6 [msbuild] pick up p4 versions
* mono/mono@f04ee2219d [2019-06][msbuid][roslyn] Bump msbuild and roslyn-binaries to pick up dotnet 3.0.100-p9 toolset
* mono/mono@6b4b99e571 Vtable [i] can be null so this should be check before use it. Fixes #16712

Diff: 7af64d1ebe..beb9a1b182

* [tests] Add a fat macOS dylib for testing purposes.

Add a binary version of a fat macOS dylib (because we can't create one when we
need it since we can't create 32-bit slice anymore).

It was created like this (in tests/test-libraries):

	$ cat test.m
	int theUltimateAnswer ()
	{
		return 42;
	}

	$ /Applications/Xcode94.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang test.m -olibtest.i386.dylib -shared -isysroot /Applications/Xcode94.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Foundation -framework CoreLocation -lz  -arch i386
	$ lipo -create libtest.i386.dylib .libs/macos/libtest.dylib -output libtest-fat.dylib

* [tests] Adjust XM tests to XM not having fat dylibs anymore.

* [tests] Adjust product tests to some libraries not being fat anymore.

* [tests] Don't treat an Xcode with the same major version number as old.

Fixes an issue in the MT0091 test, where it would fail on tvOS because the
test wanted to use an older Xcode, and we could end up returning Xcode 11.0
when the current Xcode is 11.1. Since the test depends on using the OS SDK as
it was designed for (technically using an OS SDK earlier than the latest), it
ended up failing because while the iOS SDK was bumped in Xcode 11.1, the tvOS
SDK was not.
2019-10-01 16:18:28 +02:00
Sebastien Pouliot f5c39c8eb6
Bump versions after d16-4 branch (#7132) 2019-10-01 08:46:04 -04:00
Rolf Bjarne Kvinge 39c90b38fa Bump maccore. (#7142)
New commits in xamarin/maccore:

* xamarin/maccore@3e141c6779 [devops] Fix xcode11 provisioning (#2003)
* xamarin/maccore@86662c6050 Merge pull request #1999 from xamarin/swift-o-matic-doc-object-modeling
* xamarin/maccore@50822d35b3 Object Modeling documentation
* xamarin/maccore@f50226a11f Merge pull request #1998 from xamarin/swift-o-matic-doc-outline
* xamarin/maccore@d18f9ca2da functional outline documentation

Diff: 454248ba13..3e141c6779
2019-10-01 07:04:25 -04:00
Rolf Bjarne Kvinge 3ec3470a4e
[UIKit] Add '[Appearance]' to a few appearance properties. Fixes #6938, (#7134)
Add '[Appearance]' to a few appearance properties as defined in Apple's headers.

Fixes https://github.com/xamarin/xamarin-macios/issues/6938.
2019-10-01 07:21:58 +02:00
Vincent Dondain 0c7c58576b
Merge pull request #7127 from VincentDondain/d16-4-bump-mono
[d16-4] Bump mono 2019-08@d8441dee
- Fixes xamarin/maccore#1996
2019-09-30 15:08:05 -04:00
Rolf Bjarne Kvinge ea829b5a3f [tests] Remove workaround for xamarin/maccore#1996.
Fixes https://github.com/xamarin/maccore/issues/1996.
2019-09-30 13:30:28 -04:00
Vincent Dondain 4ecb1b32b1 Bump mono 2019-08
This is to match Xamarin.Android

New commits in mono/mono:

* mono/mono@d8441deead [crashing] Remove Mono signal handlers when starting to handle a crash (#17078)
* mono/mono@7ae0f38fd7 [runtime] Respect runtime_version in mono_init_internal (#17086)
* mono/mono@61ca7fe3a4 [sdks] Bump min iOS version to 7.0. (#17070)

Diff: c99adb97ed..d8441deead
2019-09-30 13:30:28 -04:00
Rolf Bjarne Kvinge 979eb13ab2 [tests] Remove workaround for xamarin/maccore#1996.
Fixes https://github.com/xamarin/maccore/issues/1996.
2019-09-30 15:14:23 +02:00
Rolf Bjarne Kvinge 7144927e91 Revert "[tests] Remove workaround for xamarin/maccore#1996."
This reverts commit f363515829.

Pushed to the wrong branch.
2019-09-30 15:13:53 +02:00
Rolf Bjarne Kvinge f363515829 [tests] Remove workaround for xamarin/maccore#1996.
Fixes https://github.com/xamarin/maccore/issues/1996.
2019-09-30 11:37:36 +02:00
Vincent Dondain cc740822a5 [d16-4] Bump mono@d8441dee
New commits in mono/mono:

* mono/mono@d8441deead [crashing] Remove Mono signal handlers when starting to handle a crash (#17078)
* mono/mono@7ae0f38fd7 [runtime] Respect runtime_version in mono_init_internal (#17086)
* mono/mono@61ca7fe3a4 [sdks] Bump min iOS version to 7.0. (#17070)

Diff: c99adb97ed..d8441deead
2019-09-27 18:13:35 -04:00
Matt Sylvia 504a6a52fb Branching for d16-4 2019-09-27 16:46:47 -04:00
Difegue 36d9417f92 Fix the NSFileTypeForHFSTypeCode enum (#6676)
* Rework NSFileTypeForHFSTypeCode

* Start writing 4cc test

* Update NSWorkspace.cs

* Fix formatting issues

* Fix tests

* Update src/AppKit/Enums.cs

Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Update src/AppKit/NSWorkspace.cs

Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Reintroduce old NSFileTypeForHFSTypeCode

+ Fix tests style

* Invert XAMCORE_4_0 check

* Fix xtro (new API added)
2019-09-27 14:14:15 -04:00
Sebastien Pouliot 05af7ac183
[generator] Reduce code duplication in trampolines by introducing a new base type (#7118)
This saves 107kb (0.7%) in Xamarin.iOS.dll (managed code and metadata).
Release (AOT) size reduction will vary depending on how much the linker can remove.

```
-rwxr-xr-x  1 poupou  staff  15963136 26 Sep 10:16 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  12301824 26 Sep 10:16 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  17126912 26 Sep 10:16 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  8375296 26 Sep 10:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  11671040 26 Sep 10:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  7321088 26 Sep 10:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.WatchOS.dll
-rwxr-xr-x  1 poupou  staff  5295104 26 Sep 10:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.WatchOS/Xamarin.WatchOS.dll
lrwxr-xr-x  1 poupou  staff  38 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/Xamarin.Mac/Xamarin.Mac.dll -> ../../reference/mobile/Xamarin.Mac.dll
lrwxr-xr-x  1 poupou  staff  36 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/4.5/Xamarin.Mac.dll -> ../../reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21060096 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21063168 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/mobile/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21060096 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21063168 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/mobile/Xamarin.Mac.dll
```

```
-rwxr-xr-x  1 poupou  staff  15853568 26 Sep 11:15 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  12244480 26 Sep 11:15 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  17017344 26 Sep 11:15 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  8346624 26 Sep 11:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  11615744 26 Sep 11:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  7267328 26 Sep 11:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.WatchOS.dll
-rwxr-xr-x  1 poupou  staff  5267456 26 Sep 11:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.WatchOS/Xamarin.WatchOS.dll
lrwxr-xr-x  1 poupou  staff  38 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/Xamarin.Mac/Xamarin.Mac.dll -> ../../reference/mobile/Xamarin.Mac.dll
lrwxr-xr-x  1 poupou  staff  36 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/4.5/Xamarin.Mac.dll -> ../../reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20979712 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20983296 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/mobile/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20979712 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20983296 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/mobile/Xamarin.Mac.dll
```
2019-09-27 09:05:38 -04:00
Rolf Bjarne Kvinge 0418008046
[runtime] Use newer atomic functions. (#7119)
Fixes these warnings:

    shared.m:252:6: warning: 'OSAtomicDecrement32Barrier' is deprecated: first deprecated in watchOS 3.0 - Use std::atomic_fetch_sub() from <atomic> instead [-Wdeprecated-declarations]
            if (OSAtomicDecrement32Barrier (&bl->descriptor->ref_count) == 0) {
                ^
    /Applications/Xcode11.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS6.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:201:9: note: 'OSAtomicDecrement32Barrier' has been explicitly marked deprecated here
    int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue );
            ^
    shared.m:270:2: warning: 'OSAtomicIncrement32' is deprecated: first deprecated in watchOS 3.0 - Use std::atomic_fetch_add_explicit(std::memory_order_relaxed) from <atomic> instead [-Wdeprecated-declarations]
            OSAtomicIncrement32 (&source->descriptor->ref_count);
            ^
    /Applications/Xcode11.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS6.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:171:9: note: 'OSAtomicIncrement32' has been explicitly marked deprecated here
    int32_t OSAtomicIncrement32( volatile int32_t *__theValue );
            ^
    monotouch-debug.m:309:10: warning: 'OSAtomicIncrement32Barrier' is deprecated: first deprecated in watchOS 3.0 - Use std::atomic_fetch_add() from <atomic> instead [-Wdeprecated-declarations]
            int c = OSAtomicIncrement32Barrier (&http_send_counter);
                    ^
    /Applications/Xcode11.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS6.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:182:9: note: 'OSAtomicIncrement32Barrier' has been explicitly marked deprecated here
    int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue );
            ^
2019-09-27 07:15:59 +02:00
Manuel de la Pena b360408197
[Tests] Make the CoreBluetooth tests more reliable. (#7115)
Tests were failing because the manager was getting dispose and the
delegate was not. We ran into the failure because there was a device
close to the lab with the UUID that was being used.

The change uses a even more common UUID (heart monitor), which should
increase the chances to pick up a device and re-orgs the disposal of the
manager and the delegate.

This was confirmed with a BLE device, watchOS does not like us to try
and access it as a bluetooth device and is 'hacky'.

Fixes: https://github.com/xamarin/xamarin-macios/issues/7108
2019-09-26 17:07:57 -04:00
Rolf Bjarne Kvinge 621d2e0331
Bump maccore to get mlaunch fix for lldb support. (#7114)
Diff for xamarin/maccore bump: 486ad67875..454248ba13
2019-09-26 18:36:00 +02:00
Manuel de la Pena 2cea3568b9
[AppKit] Add missing Accessibility protocols. (#7105) 2019-09-26 09:46:38 -04:00
Alex Soto cd5917650e
[mono] Bump mono to match android (#7104)
* [mono] Bump mono to match android

4546440471...c99adb97ed

* [tests] Add workaround for xamarin/maccore#1996.
2019-09-26 08:39:49 -04:00
Vincent Dondain 253900cf00
Bump for Xcode 11.1 GM (#7090)
- Fixes https://github.com/xamarin/xamarin-macios/issues/7045
- Fixes Xcode path and point API diff to HEAD of d16-3
- Ignore ScanForPeripherals & RetrievePeripherals tests for now (https://github.com/xamarin/xamarin-macios/issues/7108)
2019-09-25 23:13:13 -04:00
Rolf Bjarne Kvinge 46fbc833d7
Use the mono archive again. (#7096) 2019-09-25 17:35:11 +02:00
Rolf Bjarne Kvinge 1e92a732ef
[mtouch] Tweak watchOS architecture test to build for bitcode when building with llvm. Fixes xamarin/maccore#1994. (#7097)
Tweak the watchOS architecture test to build for bitcode when building with
llvm, since that's what's usually done.

Also tweak the MT0145 error message a bit.

Fixes https://github.com/xamarin/maccore/issues/1994.
2019-09-25 17:06:27 +02:00
Manuel de la Pena 21f7ef967c
[Metal] Add some fixes that were skipped due to a fast finger clicking. (#7093) 2019-09-25 10:14:40 -04:00
Vincent Dondain d4aae746dd [mono] bump mono/2019-08 (#7088)
New commits in mono/mono:

* mono/mono@4546440471 Add mono-hang-watchdog.in to tarball (#17018)
* mono/mono@4c31bdabf3 [2019-08] [debugger] New way to filter exceptions to support VSWin features (#17000)
* mono/mono@d73a286a2c [ci] Make ios/mac sdks archive URL more predictable
* mono/mono@dacef517fa [merp] Use function names even in 'private crashes' mode (#17003)
* mono/mono@d1ca1a5d2e [2019-08] [System.Xml] Fix deserialization issue (#17014)
* mono/mono@1d55b355f3 Correctly check for HAVE_STAT_BIRTHTIME in configure.ac checks for System.Native (#17001)
* mono/mono@bb522edb0d [2019-08] Restore Previous ExecutionContext Capture Behavior (#16997)
* mono/mono@7f7b5c9f3e [interp] avoid exception checkpoint when in thread is in GC Safe state (#16967)
* mono/mono@c87f99dd81 [ci] Fix typo in sdks-archive.groovy
* mono/mono@065499c2ef [ci] Fix typo in sdks-archive.groovy
* mono/mono@9f7b2c8d0a [ci] Fix typo in sdks-archive.groovy
* mono/mono@2c003ec71d [ci] Build iOS/Mac Mono sdks archive using Xcode 11
* mono/mono@e02e823ef7 [arm64_32] fix pointer size in CallInfo

Diff: 70d6903053..4546440471
2019-09-25 11:07:24 +02:00
monojenkins abfa32c09f [master] [generator] Do not generate PlatformNotSupportedException in chaining .ctor (#7092)
Types that are new in 64bits only OS are generated differently on 32bits
bindings. They mainly throw a `PlatformNotSupportedException` so it's
easier to diagnose (than a crash) what's happening at runtime.

This works well in all cases except one. When a new type, let's say
`UIMenuElement` is added **and** serves as a new base type for existing
types.

`UIKeyCommand` (iOS 7) -> `UICommand` (iOS 13)-> `UIMenuElement` (iOS 13)

This is _correct_ as new base types can be added (in ObjC and C#).
However the generated code for the constructors of `UICommand` and
`UIMenuElement` would be throwing a `PlatformNotSupportedException`
which breaks the `UIKeyCommand` on 32 bits devices.

We fixed this in a few places by tweaking the availability attribute
but that requires spotting the new base type while doing bindings and
that is error prone [1][2].

This PR simply does let the `protected` constructor, using when chaining,
be generated normally. It's simpler and will cover all the cases (without
requiring hacks in the availability of those types)

[1] https://github.com/xamarin/xamarin-macios/issues/7083
[2] https://github.com/xamarin/xamarin-macios/issues/7084
2019-09-24 21:12:59 -04:00
Vincent Dondain 601f86abd1
Bump Touch.Unit (dark mode support) (#7021)
New commits in spouliot/Touch.Unit:

* spouliot/Touch.Unit@d22825a [TouchRunner] Fix colors for iOS 13 dark mode (#53)

Diff: de42aa3a64..d22825a7d1
2019-09-24 16:33:20 -04:00
Sebastien Pouliot 6bdce2dac8
[generator] Do not generate PlatformNotSupportedException in chaining .ctor (#7085)
Types that are new in 64bits only OS are generated differently on 32bits
bindings. They mainly throw a `PlatformNotSupportedException` so it's
easier to diagnose (than a crash) what's happening at runtime.

This works well in all cases except one. When a new type, let's say
`UIMenuElement` is added **and** serves as a new base type for existing
types.

`UIKeyCommand` (iOS 7) -> `UICommand` (iOS 13)-> `UIMenuElement` (iOS 13)

This is _correct_ as new base types can be added (in ObjC and C#).
However the generated code for the constructors of `UICommand` and
`UIMenuElement` would be throwing a `PlatformNotSupportedException`
which breaks the `UIKeyCommand` on 32 bits devices.

We fixed this in a few places by tweaking the availability attribute
but that requires spotting the new base type while doing bindings and
that is error prone [1][2].

This PR simply does let the `protected` constructor, using when chaining,
be generated normally. It's simpler and will cover all the cases (without
requiring hacks in the availability of those types)

[1] https://github.com/xamarin/xamarin-macios/issues/7083
[2] https://github.com/xamarin/xamarin-macios/issues/7084
2019-09-24 16:24:08 -04:00
Bernhard Urban 26ec2826aa ARM64_32 Debug Mode (#7012)
* [builds] add arm64_32 cross compiler

* [mtouch] force --interpreter on arm64_32 debug mode build

* [mtouch] include debug check for arm64_32 and reflect error codes in documentation
2019-09-24 17:24:49 +02:00
Sebastien Pouliot 80e6e63f87
[generator] Fix BI0000 from FormatException when no arguments are provided for an error (#7078)
Add new overloads so we can skip `String.Format` calls when relaying
messages without any arguments. Solve cases like

```
error BI0000: Unexpected error - Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
System.FormatException: Input string was not in a correct format.
  at System.Text.StringBuilder.AppendFormatHelper (System.IFormatProvider provider, System.String format, System.ParamsArray args) [0x000b2] in /Users/builder/jenkins/workspace/build-package-osx-mono/2019-06/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Text/StringBuilder.cs:1445
...
```

because we failed compilation due to an (hidden) syntax error like:

```
foundation.cs(3627,3): error CS1519: Invalid token '{' in class, struct, or interface member declaration
```

where the `{` character is causing the `FormatException` inside the
generator sources.

This is now more properly reported as

```
error BI0002: bgen: Could not compile the API bindings.
	foundation.cs(3627,3): error CS1519: Invalid token '{' in class, struct, or interface member declaration
```
2019-09-24 09:08:05 -04:00
Rolf Bjarne Kvinge 2adecee3d9
Drop the Xcode 9.4 dependency. (#7044)
* Drop the Xcode 9.4 dependency.

Also bump mono to get the removal of the mac32 binaries.

New commits in mono/mono:

* mono/mono@70d6903053 [2019-08] [merp] Use a separate program as the hang supervisor. (#16900)
* mono/mono@4bff2b6370 [offsets-tool] Install clang into the user-specific python directory.
* mono/mono@81894ec8ca Implement WriteCore and ReadCore in DeflateStream
* mono/mono@bfbf823ca1 [ci] Remove more XCODE32_DIR usages (#16964)
* mono/mono@ce01b20a4d Add net_4.8.xml to EXTRA_DIST and bump binary-reference-assemblies again
* mono/mono@7a587d7fa6 Add .NET 4.8 reference assemblies (#16912)
* mono/mono@35e454a8f6 [sdks] Remove the mac32 build. (#16936)
* mono/mono@75eb342f53 [2019-08] [System] Make FileSystemWatcher backend non-static (#16926)
* mono/mono@5881981f79 [2019-08] [mini] Add missing membars when initializing rgctx entries (#16909)
* mono/mono@6290b6cd6e Temporarily disable embedded ppdb data decompression (#16911)
* mono/mono@a0e7f9eaf2 [2019-08] [arm64_32] make "Debug Mode" work on Watch series 4 with --interpreter (#16886)
* mono/mono@6275840a7f Rename bundle identifier for the various Mono.frameworks we create for Xamarin.iOS. Fixes xamarin/xamarin-macios#7005. (#16901)
* mono/mono@25f6093283 [corlib] Fix building nunit-lite twice (#16895)
* mono/mono@7ec17ba1be [2019-08] [android sdk] Add aprofutil tool (#16884)
* mono/mono@f755f3b539 [metadata] Fix leaks when handling a few attributes (#16850)
* mono/mono@5f9a2db39b [2019-08] Fix infrequent hangs in test-runner. (#16854)
* mono/mono@f31f5ea1f1 [2019-08] [threads] do not convert NULL thread name (#16828)
* mono/mono@20308e6f87 [aot] Do not wrap tool_prefix path when calling strip (#16820)
* mono/mono@cecda47c48 [aprofutil] Add -p and -f options
* mono/mono@824cc12ac3 Bump to mono/corefx@e79cf5b
* mono/mono@b77dc06a7e [aprofutil] Install the tool correctly (#16112)
* mono/mono@1848d78d60 [aotprof-tool] Initial import of AOT profiler tool (#15384)
* mono/mono@da0086e304 [2019-08] Add RenamedEvent* to FSW sources from CoreFX (#16756)
* mono/mono@0297b21b03 [msbuild][roslyn] Bump msbuild and roslyn to pull in new versions (#16768)
* mono/mono@40631e3b9e [2019-08] [aot] move method_addresses to data.rel.so section to avoid text relocations (#16751)
* mono/mono@68b77674e2 Vtable [i] can be null so this should be check before use it. Fixes #16712
* mono/mono@4a0b4f41ed [mini] publish global patches after JitInfo has been added
* mono/mono@7a1f63fde6 [debugger][android] It was not initialising seq_points on MonoCompile on Android, so when was compiling dynamic methods, seq_points wasn't created and we got the assert when try to single step.

Diff: 29b1ac19c9..70d6903053

* [tests] Add a fat macOS dylib for testing purposes.

Add a binary version of a fat macOS dylib (because we can't create one when we
need it since we can't create 32-bit slice anymore).

It was created like this (in tests/test-libraries):

	$ cat test.m
	int theUltimateAnswer ()
	{
		return 42;
	}

	$ /Applications/Xcode94.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang test.m -olibtest.i386.dylib -shared -isysroot /Applications/Xcode94.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Foundation -framework CoreLocation -lz  -arch i386
	$ lipo -create libtest.i386.dylib .libs/macos/libtest.dylib -output libtest-fat.dylib

* [tests] Adjust XM tests to XM not having fat dylibs anymore.

* [tests] Adjust product tests to some libraries not being fat anymore.

* One more test fix.
2019-09-24 13:40:18 +02:00
Bernhard Urban 62466d4c46 [monotouch-tests] reduce amount of test objects to avoid out of memory (#7075)
I get this otherwise on the watch4 in debug mode (with interp):

```
Process 1255 stopped
* thread #1, name = 'tid_303', queue = 'com.apple.main-thread', stop reason = EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=80 MB, unused=0x0)
    frame #0: 0x1e185ae8 CoreGraphics`x_malloc + 44
CoreGraphics`x_malloc:
->  0x1e185ae8 <+44>: str    w19, [x0], #0x10
    0x1e185aec <+48>: ldp    x29, x30, [sp, #0x10]
    0x1e185af0 <+52>: ldp    x20, x19, [sp], #0x20
    0x1e185af4 <+56>: ret
Target 0: (monotouchtest) stopped.
```
2019-09-24 13:29:56 +02:00