[LLVMdev] Apple's GCC and .s/.S files in llvm-test (fwd)

Mike Stump mrs at apple.com
Mon Mar 24 15:35:29 PDT 2008


On Mar 24, 2008, at 2:40 PM, Dale Johannesen wrote:
> On Mar 21, 2008, at 10:59 AM, Julien Lerouge wrote:
>> Hello,
>>
>> Apple's GCC does not make the distinction between .s and .S files and
>> always run the preprocessor. From the man:
>>
>> |  file.s
>> |      Assembler code. Apple's version of GCC runs the preprocessor
>> on these
>> |      files as well as those ending in .S.
>> |
>> |  file.S
>> |      Assembler code which must be preprocessed.
>
> Yes.  The reason for this is that MacOS supports some non-case- 
> sensitive filesystems, so .s and .S are not in general  
> distinguishable.

I'm skeptical.  The case of the extension comes from the user, the  
user _knows_ what language the file is in.  The user can be obligated  
to get the case right.

Also, on darwin, the filenames are case preserving, meaning, the  
filesystem can even track the language directly as encoded by the  
filename, .s, no cpp, .S, run cpp.

I'm be tempted to eject this and see what breaks, then get them to fix  
it.



More information about the llvm-dev mailing list