[cfe-dev] sizeof(long) in OpenCL C

Erik Schnetter schnetter at gmail.com
Thu Aug 29 10:04:48 PDT 2013


Dave

Can you point me to your patch?

-erik

On 2013-08-29, at 12:44 , David Tweed <david.tweed at arm.com> wrote:

> Hi,
> 
> That approach would work: I did post a patch that included that, amongst
> other OpenCL things, last year. However, it was felt that this wasn't an
> area where the community wanted to put this in to the open source clang but
> let different implementers do it according to their own designs in their own
> code. If you do try this, you can use
> 
> if(Opts.OpenCL)....
> 
> to detect OpenCL. (If you look in clang there are certain uses of this to
> deal with constant-folding/generating good error messages in cases where
> OpenCL differs from C (mostly by being defined in more circumstances)).
> 
> Cheers,
> Dave
> 
> -----Original Message-----
> From: cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] On
> Behalf Of Erik Schnetter
> Sent: 29 August 2013 16:42
> To: cfe-dev at cs.uiuc.edu
> Subject: [cfe-dev] sizeof(long) in OpenCL C
> 
> The OpenCL C language requires that sizeof(long)=8, independent of the
> architecture. This is not what Clang currently implements.
> 
> How would I change this in clang? This issue is currently preventing
> supporting the "long" and (as a consequence) "double" type for 32-bit
> architectures in pocl <http://pocl.sourceforge.net/>.
> 
> I see that the file lib/Basic/TargetInfo.cpp defines e.g. "LongWidth =
> LongAlign = 32;". It seems that this definition should depend on the
> language chosen (-x cl) -- would this be the correct approach? What about
> all the targets that inherit from TargetInfo -- should they also receive the
> corresponding modification? How do I determine the current language in
> Clang?
> 
> Or would it be better to override these values after the TargetInfo object
> has been created? Is there already a language hook for this?
> 
> Any pointers, suggestions, or ideas for this would be appreciated.
> 
> -erik
> 
> -- 
> Erik Schnetter <schnetter at gmail.com>
> http://www.perimeterinstitute.ca/personal/eschnetter/
> 
> My email is as private as my paper mail. I therefore support encrypting
> and signing email messages. Get my PGP key from http://pgp.mit.edu/.
> 
> 

-- 
Erik Schnetter <schnetter at gmail.com>
http://www.perimeterinstitute.ca/personal/eschnetter/

My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://pgp.mit.edu/.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130829/a48b34c4/attachment.sig>


More information about the cfe-dev mailing list