Ok, after thinking about it a bit, I decided to go ahead and make the changes required to use a better name than "uninitialized" for global variables that are external. I went ahead and made the following changes: 1. The parser now accepts both "uninitialized" and "external" global variables, they both mean the exact same thing. 2. The LLVM writer now emits "external" instead of "uninitialized". 3. The "feature" tests now test for both forms. 4. I added a new GlobalVariable::isExternal() method to mirror the semantics of the Function::isExternal() method The old "uninitialized" modifier can officially be considered deprecated, but it is unlikely to go away any time soon. It requires very little code (one line) to support, and we probably have a bunch of testcases that use it, so don't lose sleep thinking it will going away anytime in the near future. I went ahead and made this change because it shouldn't break anything or cause anyone problems. If you do have any problems that I didn't forsee, please let me know. Tommorow I will update the C frontend for both linux and sparc to start outputting "external" instead of "uninitialized", so at that time you will have to update your CVS tree to be able to parse the output of the CFE. I will send "yet another email" when I go ahead and do this. -Chris http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/