Hi Eli,<br><br>Thanks for the reply. Indeed there is solaris on the Sparc machine. I was told that it is quite difficult to install LLVM there so I am doing what I am doing. Is there a way for me to get headers from the target Sparc machine without installing LLVM there?<br>

<br>Best,<br>Christine<br><br><div class="gmail_quote">On Fri, Sep 16, 2011 at 4:56 PM, Eli Friedman <span dir="ltr"><<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><div></div><div class="h5">On Fri, Sep 16, 2011 at 4:40 PM, Christine Cheng <<a href="mailto:clcheng@stanford.edu">clcheng@stanford.edu</a>> wrote:<br>
> Hi,<br>
><br>
> I am new to LLVM and clang and I would like to seek some professional help.<br>
> :)<br>
><br>
> I have been trying to compile some C code on a linux x86 computer for a<br>
> Sparc machine.<br>
><br>
> I used:<br>
><br>
>  clang -ccc-host-triple sparc-unknown-linux -ccc-clang-archs sparc -pthreads<br>
> -lm  -emit-llvm test.c -c -o -test.bc<br>
><br>
> The following error messages are produced:<br>
><br>
> /usr/include/pthread.h:665:6: error: 'regparm' is not valid on this platform<br>
>      __cleanup_fct_attribute;<br>
>      ^~~~~~~~~~~~~~~~~~~~~~~<br>
> In file included from TEST.C:46:<br>
> In file included from /usr/include/stdlib.h:320:<br>
> In file included from /usr/include/sys/types.h:271:<br>
> /usr/include/bits/pthreadtypes.h:222:50: note: instantiated from:<br>
> # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))<br>
>                                                  ^            ~<br>
> In file included from TEST.C:65:<br>
> /usr/include/pthread.h:677:3: error: 'regparm' is not valid on this platform<br>
>   __cleanup_fct_attribute;<br>
>   ^~~~~~~~~~~~~~~~~~~~~~~<br>
> In file included from TEST.C:46:<br>
> In file included from /usr/include/stdlib.h:320:<br>
> In file included from /usr/include/sys/types.h:271:<br>
> /usr/include/bits/pthreadtypes.h:222:50: note: instantiated from:<br>
> # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))<br>
>                                                  ^            ~<br>
> In file included from TEST.C:65:<br>
> /usr/include/pthread.h:718:6: error: 'regparm' is not valid on this platform<br>
>      __cleanup_fct_attribute __attribute__ ((__noreturn__))<br>
>      ^~~~~~~~~~~~~~~~~~~~~~~<br>
><br>
> What causes the errors and how can I fix it?<br>
<br>
</div></div>You're using headers from your x86 machine to compile code for Sparc<br>
(and possibly a different OS?); that doesn't work in general.  You'll<br>
need to somehow use headers from your target Sparc machine to make<br>
things work properly; you can probably just copy them, and use<br>
-nostdinc plus some -I flags to make clang use them.<br>
<font color="#888888"><br>
-Eli<br>
</font></blockquote></div><br>