URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 308 |
Rev 338 |
/* Ensure that the preprocessor handles ObjC string constants gracefully. */
|
/* Ensure that the preprocessor handles ObjC string constants gracefully. */
|
/* Author: Ziemowit Laski */
|
/* Author: Ziemowit Laski */
|
/* { dg-options "-fconstant-string-class=MyString" } */
|
/* { dg-options "-fconstant-string-class=MyString" } */
|
/* { dg-do run { target *-*-darwin* } } */
|
/* { dg-do run { target *-*-darwin* } } */
|
|
|
#include
|
#include
|
|
|
@interface MyString
|
@interface MyString
|
{
|
{
|
void *isa;
|
void *isa;
|
char *str;
|
char *str;
|
int len;
|
int len;
|
}
|
}
|
@end
|
@end
|
|
|
#define kMyStringMacro1 "My String"
|
#define kMyStringMacro1 "My String"
|
#define kMyStringMacro2 @"My String"
|
#define kMyStringMacro2 @"My String"
|
|
|
void *_MyStringClassReference;
|
void *_MyStringClassReference;
|
|
|
@implementation MyString
|
@implementation MyString
|
@end
|
@end
|
|
|
int main(void) {
|
int main(void) {
|
MyString* aString1 = @kMyStringMacro1;
|
MyString* aString1 = @kMyStringMacro1;
|
MyString* aString2 = kMyStringMacro2;
|
MyString* aString2 = kMyStringMacro2;
|
if(aString1 != aString2) {
|
if(aString1 != aString2) {
|
abort();
|
abort();
|
}
|
}
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.