Commit f5d21c4c by Ziemowit Laski Committed by Ziemowit Laski

re PR objc/22274 (string[1-4].m, const-str-5.m fails with the gnu runtime)

/objc/ChangeLog]
2005-07-07  Ziemowit Laski  <zlaski@apple.com>

        PR objc/22274
        * objc-act.c (objc_build_string_object): For GNU-style constants,
        use the @interface type rather than the built-in type.

[gcc/testsuite/ChangeLog]
2005-07-07  Ziemowit Laski  <zlaski@apple.com>

        PR objc/22274
        * obj-c++.dg/gnu-runtime-[1-2].mm: New.
        * objc.dg/gnu-runtime-2.m: New.

From-SVN: r101686
parent 1a557723
2005-07-07 Ziemowit Laski <zlaski@apple.com>
PR objc/22274
* objc-act.c (objc_build_string_object): For GNU-style constants,
use the @interface type rather than the built-in type.
2005-07-03 Kazu Hirata <kazu@codesourcery.com>
* Make-lang.in (cc1plus-checksum.c): Use
......
......@@ -1915,7 +1915,7 @@ objc_build_string_object (tree string)
if (!flag_next_runtime)
constructor
= objc_add_static_instance (constructor, internal_const_str_type);
= objc_add_static_instance (constructor, constant_string_type);
else
{
var = build_decl (CONST_DECL, NULL, TREE_TYPE (constructor));
......
2005-07-07 Ziemowit Laski <zlaski@apple.com>
PR objc/22274
* obj-c++.dg/gnu-runtime-[1-2].mm: New.
* objc.dg/gnu-runtime-2.m: New.
2005-07-06 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/vrp17.c: New test.
......
/* Test that compiling for the GNU runtime works (regardless of
the system runtime used). */
/* Author: Ziemowit Laski <zlaski@apple.com> */
/* { dg-do compile } */
/* { dg-options "-fgnu-runtime" } */
#include <objc/Object.h>
@interface FooBar: Object
- (void)boo;
@end
int main ()
{
id fooBarInst = [[FooBar alloc] init];
[fooBarInst boo];
return 0;
}
/* Sanity check for GNU-runtime version of constant strings,
regardless of runtime used on target system. */
/* { dg-do run } */
/* { dg-options "-fgnu-runtime" } */
#include <objc/Object.h>
#include <string.h>
#include <stdlib.h>
@interface NXConstantString: Object
{
char *c_string;
unsigned int len;
}
-(const char *) cString;
-(unsigned int) length;
@end
@implementation NXConstantString
-(const char *) cString { return c_string; }
-(unsigned int) length { return len; }
@end
int main(int argc, void **args)
{
if (strcmp ([@"this is a string" cString], "this is a string"))
abort ();
return 0;
}
/* Sanity check for GNU-runtime version of constant strings,
regardless of runtime used on target system. */
/* { dg-do run } */
/* { dg-options "-fgnu-runtime" } */
#include <objc/Object.h>
#include <string.h>
#include <stdlib.h>
@interface NXConstantString: Object
{
char *c_string;
unsigned int len;
}
-(const char *) cString;
-(unsigned int) length;
@end
@implementation NXConstantString
-(const char *) cString { return c_string; }
-(unsigned int) length { return len; }
@end
int main(int argc, void **args)
{
if (strcmp ([@"this is a string" cString], "this is a string"))
abort ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment