[cfe-commits] ARCMT/with-working.dir.m behaves unexpectedly on windows

NAKAMURA Takumi geek4civic at gmail.com
Sun Jun 19 15:48:29 PDT 2011


Good morning.

On mingw and msvs10, ARCMT/with-working.dir.m does not emit expected output.
It seems the macro __IMPL_ARCMT_REMOVED_EXPR__ would not be expanded.

It works if I specified absolute path
e:/llvm/llvm-project/llvm/tools/clang/test/ARCMT/with-working-dir.m.

I gave up to track this issue. Any idea?

...Takumi

ps. Francois would say it might pass but it fails for me.

$ bin/arcmt-test.exe --args -triple x86_64-apple-macosx10.6 \
    -fobjc-nonfragile-abi \
    -working-directory e:/llvm/llvm-project/llvm/tools/clang/test/ARCMT \
    with-working-dir.m -v
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "include"
ignoring nonexistent directory "/usr/include"
ignoring nonexistent directory "/System/Library/Frameworks"
ignoring nonexistent directory "/Library/Frameworks"
#include "..." search starts here:
End of search list.
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "include"
ignoring nonexistent directory "/usr/include"
ignoring nonexistent directory "/System/Library/Frameworks"
ignoring nonexistent directory "/Library/Frameworks"
#include "..." search starts here:
End of search list.
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "include"
ignoring nonexistent directory "/usr/include"
ignoring nonexistent directory "/System/Library/Frameworks"
ignoring nonexistent directory "/Library/Frameworks"
#include "..." search starts here:
End of search list.
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "include"
ignoring nonexistent directory "/usr/include"
ignoring nonexistent directory "/System/Library/Frameworks"
ignoring nonexistent directory "/Library/Frameworks"
#include "..." search starts here:
End of search list.
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -fsyntax-
only -fobjc-arc -x objective-c %s.result
// RUN: arcmt-test --args -triple x86_64-apple-macosx10.6 -fobjc-nonfragile-abi
-working-directory %S with-working-dir.m > %t
// RUN: diff %t %s.result

typedef int BOOL;
id IhaveSideEffect();

@protocol NSObject
- (BOOL)isEqual:(id)object;
- (id)retain;
- (oneway void)release;
- (id)something;
@end

@interface NSObject <NSObject> {}
@end

@interface Foo : NSObject {
  id bar;
}
@property (retain) id bar;
-(id)test:(id)obj;
@end

@implementation Foo

@synthesize bar;

-(id)test:(id)obj {
  id x = self.bar;
  __IMPL_ARCMT_REMOVED_EXPR__;
  self.bar = obj;
  if (obj)
    __IMPL_ARCMT_REMOVED_EXPR__;

  IhaveSideEffect();

  [self something];

  [self something];

  // do stuff with x;
  __IMPL_ARCMT_REMOVED_EXPR__;
  return self;
}

@end



More information about the cfe-commits mailing list