Proposed patch adds TLS Max Alignment diagnostic
Li, Charles
charles_li at playstation.sony.com
Fri Apr 3 15:21:04 PDT 2015
Hi David,
Oops, we didn’t think of the case where the alignment could be a template parameter.
I currently don’t have a clue to fix this.
Any hint would be greatly welcome.
On why we used BaseT instead of T.
I think we originally added
QualType BaseT = Context.getBaseElementType(T);
Just be to conservative as we don’t fully understand how LLVM’s type system when it comes to templates.
I have re-ran clang replacing BaseT with T and did not notice any regressions.
So I will take out BaseT for the next revision of the patch.
Cheers,
Charles Li
From: David Majnemer [mailto:david.majnemer at gmail.com]
Sent: Wednesday, April 01, 2015 7:08 PM
To: Li, Charles
Cc: cfe-commits at cs.uiuc.edu
Subject: Re: Proposed patch adds TLS Max Alignment diagnostic
Hi Charles,
Your patch doesn't handle cases where the alignment is dependent, getDeclAlign doesn't want to be called in such cases:
template <int N>
struct S {
static int __thread __attribute__((aligned(N))) x;
};
Also, why do you use BaseT->isDependentType() instead of T->isDependentType()?
On Wed, Apr 1, 2015 at 4:57 PM, Li, Charles <charles_li at playstation.sony.com<mailto:charles_li at playstation.sony.com>> wrote:
Hi Clang developers,
We here at Sony PlayStation have a proposed patch which adds an error diagnostic for when TLS variables exceed maximum TLS alignment.
Please note this patch does not affect normal maximum alignments.
This TLS maximum alignment check is currently only turned on for PS4 but could potentially be used for other platforms.
Sincerely,
Charles Li
_______________________________________________
cfe-commits mailing list
cfe-commits at cs.uiuc.edu<mailto:cfe-commits at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150403/69478664/attachment.html>
More information about the cfe-commits
mailing list