[objective-c/c++, testsuite, 2/3] Workaround for PR90709.

Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c
testsuite.  Make minor adjustments to tests as required, providing that those
do not alter the test intent.

2019-06-15  Iain Sandoe  <iain@sandoe.co.uk>

	PR objc/90709
	* objc.dg/encode-7-next-64bit.m: Use proxy headers.
	* objc.dg/image-info.m: Likewise.
	* objc.dg/method-6.m: Likewise.
	* objc.dg/no-extra-load.m: Likewise.
	* objc.dg/objc-foreach-4.m: Likewise.
	* objc.dg/objc-foreach-5.m: Likewise.
	* objc.dg/proto-lossage-7.m: Likewise.
	* objc.dg/strings/const-cfstring-2.m: Likewise.
	* objc.dg/strings/const-cfstring-5.m: Likewise.
	* objc.dg/strings/const-str-12b.m: Likewise.
	* objc.dg/symtab-1.m: Likewise.
	* objc.dg/torture/strings/const-cfstring-1.m: Likewise.
	* objc.dg/torture/strings/const-str-10.m: Likewise.
	* objc.dg/torture/strings/const-str-11.m: Likewise.
	* objc.dg/torture/strings/const-str-9.m: Likewise.
	* objc.dg/zero-link-1.m: Likewise.
	* objc.dg/zero-link-2.m: Likewise.
	* objc.dg/zero-link-3.m: Likewise.
	* objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why.
	* objc.dg/headers.m: XFAIL for Darwin14-19.
	* objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error
	there.

From-SVN: r272326
This commit is contained in:
Iain Sandoe 2019-06-15 14:00:24 +00:00 committed by Iain Sandoe
parent 0efbd66ed1
commit e3b8c2aeee
22 changed files with 68 additions and 35 deletions

View File

@ -1,3 +1,29 @@
2019-06-15 Iain Sandoe <iain@sandoe.co.uk>
PR objc/90709
* objc.dg/encode-7-next-64bit.m: Use proxy headers.
* objc.dg/image-info.m: Likewise.
* objc.dg/method-6.m: Likewise.
* objc.dg/no-extra-load.m: Likewise.
* objc.dg/objc-foreach-4.m: Likewise.
* objc.dg/objc-foreach-5.m: Likewise.
* objc.dg/proto-lossage-7.m: Likewise.
* objc.dg/strings/const-cfstring-2.m: Likewise.
* objc.dg/strings/const-cfstring-5.m: Likewise.
* objc.dg/strings/const-str-12b.m: Likewise.
* objc.dg/symtab-1.m: Likewise.
* objc.dg/torture/strings/const-cfstring-1.m: Likewise.
* objc.dg/torture/strings/const-str-10.m: Likewise.
* objc.dg/torture/strings/const-str-11.m: Likewise.
* objc.dg/torture/strings/const-str-9.m: Likewise.
* objc.dg/zero-link-1.m: Likewise.
* objc.dg/zero-link-2.m: Likewise.
* objc.dg/zero-link-3.m: Likewise.
* objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why.
* objc.dg/headers.m: XFAIL for Darwin14-19.
* objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error
there.
2019-06-15 Iain Sandoe <iain@sandoe.co.uk>
PR objc/90709

View File

@ -9,10 +9,11 @@
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
#include <Foundation/NSObject.h>
#include <stdio.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
#include "../objc-obj-c++-shared/CF-CFString.h"
#include "../objc-obj-c++-shared/runtime.h"
extern int printf(char *,...);
void CHECK_IF(const char *s1, const char *s2)
{
if (strcmp(s1,s2) != 0) {

View File

@ -2,6 +2,7 @@
// test in libstdc++-v3). Author: Loren J. Rittle <ljrittle@acm.org>.
// { dg-options "-Wall -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wshadow" }
// { dg-do compile }
/* { dg-xfail-if "PR90709" { *-*-darwin1[4-9]* } { "-fnext-runtime" } { "" } } */
#ifdef __NEXT_RUNTIME__
#include <Foundation/NSString.h>

View File

@ -7,7 +7,7 @@
/* { dg-skip-if "NeXT-only" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-freplace-objc-classes" } */
#include <Foundation/NSObject.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
extern void abort(void);
#define CHECK_IF(expr) if(!(expr)) abort();

View File

@ -1,5 +1,7 @@
/* Ensure there are no bizarre difficulties with accessing the 'isa' field of objects. */
/* { dg-do compile } */
/* The use of isa is deprecated, but we still want to test that it works. */
/* { dg-additional-options "-Wno-deprecated-declarations" } */
#include "../objc-obj-c++-shared/TestsuiteObject.h"
#include "../objc-obj-c++-shared/runtime.h"

View File

@ -5,12 +5,12 @@
/* { dg-options "-Wstrict-selector-match" } */
#ifdef __NEXT_RUNTIME__
#include <Foundation/NSObject.h>
#define OBJECT NSObject
# include "../objc-obj-c++-shared/F-NSObject.h"
# define OBJECT NSObject
#else
#include <objc/Object.h>
#include <objc/Protocol.h>
#define OBJECT Object
# include <objc/Object.h>
# include <objc/Protocol.h>
# define OBJECT Object
#endif
@interface Base

View File

@ -1,7 +1,7 @@
/* { dg-do compile { target *-*-darwin* } } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
#include <Foundation/NSObject.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
main() { [NSObject new]; }
/* { dg-final { scan-assembler-not "L_objc_msgSend\\\$non_lazy_ptr" } } */

View File

@ -5,9 +5,9 @@
/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
/* { dg-additional-options "-framework Foundation" { target { *-*-darwin* } } } */
#include <Foundation/NSString.h>
#include <Foundation/NSAutoreleasePool.h>
#include <Foundation/NSArray.h>
#include "../objc-obj-c++-shared/F-NSString.h"
#include "../objc-obj-c++-shared/F-NSAutoreleasePool.h"
#include "../objc-obj-c++-shared/F-NSArray.h"
// gcc -o foo foo.m -framework Foundation

View File

@ -4,8 +4,9 @@
/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
/* { dg-additional-options "-framework Foundation" { target { *-*-darwin* } } } */
#include <Foundation/NSArray.h>
#include <Foundation/NSAutoreleasePool.h>
#include "../objc-obj-c++-shared/F-NSArray.h"
#include "../objc-obj-c++-shared/F-NSAutoreleasePool.h"
#include "../objc-obj-c++-shared/F-NSValue.h"
NSArray * createTestVictim(unsigned capacity) {
NSMutableArray * arr = [[NSMutableArray alloc] initWithCapacity:capacity];

View File

@ -3,6 +3,7 @@
/* Contributed by Ziemowit Laski <zlaski@apple.com> */
/* { dg-do compile } */
/* { dg-skip-if "GC API is an error from Darwin16." { *-*-darwin1[6-8]* } { "-fnext-runtime" } { "" } } */
/* { dg-options "-fobjc-gc" } */
/* { dg-prune-output "cc1obj: warning: '-fobjc-gc' is ignored for '-fgnu-runtime'" } */

View File

@ -3,7 +3,7 @@
/* { dg-do compile } */
#ifdef __NEXT_RUNTIME__
#include <Foundation/NSObject.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
#define OBJECT NSObject
#else
#include <objc/Object.h>

View File

@ -8,8 +8,8 @@
/* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-mconstant-cfstrings -Wnonportable-cfstrings" } */
#import <Foundation/NSString.h>
#import <CoreFoundation/CFString.h>
#include "../../objc-obj-c++-shared/F-NSString.h"
#include "../../objc-obj-c++-shared/CF-CFString.h"
#ifndef __CONSTANT_CFSTRINGS__
#error The -fconstant-cfstrings option is not functioning properly

View File

@ -6,7 +6,7 @@
/* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-mconstant-cfstrings" } */
#include <Foundation/NSObject.h>
#include "../../objc-obj-c++-shared/F-NSObject.h"
@interface Foo: NSObject {
char *cString;

View File

@ -6,11 +6,11 @@
/* { dg-options "-mno-constant-cfstrings -fconstant-string-class=Foo" { target *-*-darwin* } } */
#ifdef __NEXT_RUNTIME__
#include <Foundation/NSObject.h>
#define OBJECT NSObject
# include "../../objc-obj-c++-shared/F-NSObject.h"
# define OBJECT NSObject
#else
#include <objc/Object.h>
#define OBJECT Object
# include <objc/Object.h>
# define OBJECT Object
#endif
#include "../../objc-obj-c++-shared/objc-test-suite-types.h"

View File

@ -4,7 +4,7 @@
/* { dg-do compile { target { *-*-darwin* } } } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
#include <Foundation/NSObject.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
@interface Base: NSObject
- (void)setValues;

View File

@ -13,8 +13,8 @@
Well, we don't implement writable ones at this juncture. */
/* { dg-options "-mconstant-cfstrings -framework Cocoa -Wl,-w" { target *-*-darwin[123]* } } */
#import <Foundation/NSString.h>
#import <CoreFoundation/CFString.h>
#include "../../../objc-obj-c++-shared/F-NSString.h"
#include "../../../objc-obj-c++-shared/CF-CFString.h"
#include <stdlib.h>
void printOut(NSString *str) {

View File

@ -6,7 +6,8 @@
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-mno-constant-cfstrings" { target *-*-darwin* } } */
#include <Foundation/NSObject.h>
#include "../../../objc-obj-c++-shared/F-NSObject.h"
#include <stdlib.h>
#include "../../../objc-obj-c++-shared/runtime.h" /* For NEXT_OBJC_USE_NEW_INTERFACE. */
@interface NSString: NSObject

View File

@ -7,7 +7,7 @@
/* { dg-options "-fconstant-string-class=XStr" } */
/* { dg-options "-mno-constant-cfstrings -fconstant-string-class=XStr" { target *-*-darwin* } } */
#include <Foundation/NSObject.h>
#include "../../../objc-obj-c++-shared/F-NSObject.h"
#include "../../../objc-obj-c++-shared/runtime.h" /* For NEXT_OBJC_USE_NEW_INTERFACE. */
@interface XString: NSObject {

View File

@ -5,7 +5,7 @@
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-mno-constant-cfstrings" { target *-*-darwin* } } */
#include <Foundation/NSObject.h>
#include "../../../objc-obj-c++-shared/F-NSObject.h"
#include "../../../objc-obj-c++-shared/runtime.h" /* For NEXT_OBJC_USE_NEW_INTERFACE. */
@interface NSConstantString: NSObject {

View File

@ -5,7 +5,7 @@
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-fzero-link" } */
#include <Foundation/NSObject.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
extern void abort(void);
#define CHECK_IF(expr) if(!(expr)) abort();

View File

@ -5,7 +5,7 @@
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-fno-zero-link" } */
#include <Foundation/NSObject.h>
#include "../objc-obj-c++-shared/F-NSObject.h"
extern void abort(void);
#define CHECK_IF(expr) if(!(expr)) abort();

View File

@ -7,12 +7,12 @@
/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
#ifdef __NEXT_RUNTIME__
#include <Foundation/NSObject.h>
#define OBJECT NSObject
# include "../objc-obj-c++-shared/F-NSObject.h"
# define OBJECT NSObject
#else
#include <objc/Object.h>
#include <objc/Protocol.h>
#define OBJECT Object
# include <objc/Object.h>
# include <objc/Protocol.h>
# define OBJECT Object
#endif
extern void abort(void);