This is a tip for people not interested in Objective C (like I).
Especially, clang currently fails all Objective C tests for me because
I don't have Objectice C headers (duh).
Open test/Makefile, and delete "-or -name '*.m'" part in find run.
By the way, is there some way to detect presence of Objective C
headers reliably? If so, make test could skip Objective C tests
automatically.
The right answer is probably to move all the objc tests out into a separate directory (ParseObjC, SemaObjC etc), and then have the driver for the tests skip them if not present. The driver is currently just makefile goop, we could use $(shell ls /usr/include/objc/objc.h) to determine if it exists or something like that.
What do you think?
-Chris
Except for carbon.m, tests do not need to depend on Objective C headers. I will remove the dependencies shortly.
- fariborz
I don't think that's necessary. Objective C tests are already very
easy to identify (i.e. they have .m extension), so I don't see a need
to move them to separate directory.
This is a tip for people not interested in Objective C (like I).
Especially, clang currently fails all Objective C tests for me because
I don't have Objectice C headers (duh).
Open test/Makefile, and delete "-or -name '*.m'" part in find run.
By the way, is there some way to detect presence of Objective C
headers reliably? If so, make test could skip Objective C tests
automatically.
The right answer is probably to move all the objc tests out into a
separate directory (ParseObjC, SemaObjC etc), and then have the driver
for the tests skip them if not present. The driver is currently just
makefile goop, we could use $(shell ls /usr/include/objc/objc.h) to
determine if it exists or something like that.
Objective-C is part of the clang. We need to excercise them with each new change to clang. I will remove the dependency on objc.h as much as I can. Those which test the rewriter may be skipped though (these tests may be moved to a new ObjcRewrite directory).
- Fariborz
The right answer is probably to move all the objc tests out into a
separate directory (ParseObjC, SemaObjC etc), and then have the driver
for the tests skip them if not present. The driver is currently just
makefile goop, we could use $(shell ls /usr/include/objc/objc.h) to
determine if it exists or something like that.
Objective-C is part of the clang. We need to excercise them with each new change to clang. I will remove the dependency on objc.h as much as I can. Those which test the rewriter may be skipped though (these tests may be moved to a new ObjcRewrite directory).
Is there a fixed path to objc.h? I can make the makefiles skip .m files if /usr/include/objc/objc.h doesn't exist, for example.
-Chris
The right answer is probably to move all the objc tests out into a
separate directory (ParseObjC, SemaObjC etc), and then have the driver
for the tests skip them if not present. The driver is currently just
makefile goop, we could use $(shell ls /usr/include/objc/objc.h) to
determine if it exists or something like that.
Objective-C is part of the clang. We need to excercise them with each new change to clang. I will remove the dependency on objc.h as much as I can. Those which test the rewriter may be skipped though (these tests may be moved to a new ObjcRewrite directory).
Is there a fixed path to objc.h? I can make the makefiles skip .m files if /usr/include/objc/objc.h doesn't exist, for example.
Yes. It is /usr/include/objc
- Fariborz