On Mon, Jul 22, 2013 at 10:09:00AM -0400, Jason Merrill wrote:
> On 07/19/2013 02:45 PM, Marek Polacek wrote:
> > /* This type represents an entry in the hash table. */
> > struct ubsan_typedesc
> > {
> >+ /* This represents the type of a variable. */
> > tree type;
> >+
> >+ /* This is the V
On 07/19/2013 02:45 PM, Marek Polacek wrote:
/* This type represents an entry in the hash table. */
struct ubsan_typedesc
{
+ /* This represents the type of a variable. */
tree type;
+
+ /* This is the VAR_DECL of the type. */
tree decl;
};
What I was looking for was something al
On Sun, Jul 21, 2013 at 10:41:15PM -0400, Jason Merrill wrote:
> On 07/21/2013 02:26 PM, Marek Polacek wrote:
> > (pointer_sized_type_node): Define.
>
> Let's call it pointer_sized_int_node.
Sure. Here it is.
2013-07-21 Marek Polacek
* tree.h (enum tree_index): Add TI_POINTER_SI
On 07/21/2013 02:26 PM, Marek Polacek wrote:
(pointer_sized_type_node): Define.
Let's call it pointer_sized_int_node.
Jason
On Sat, Jul 20, 2013 at 08:17:34PM -0400, Jason Merrill wrote:
> On 07/20/2013 10:27 AM, Jakub Jelinek wrote:
> >So, the middle-end can only use
> >some other type, say build_nonstandard_integer_type (POINTER_SIZE, 1);
> >which often will be the same type as uintptr_type_node, but perhaps not on
>
On 07/20/2013 10:27 AM, Jakub Jelinek wrote:
So, the middle-end can only use
some other type, say build_nonstandard_integer_type (POINTER_SIZE, 1);
which often will be the same type as uintptr_type_node, but perhaps not on
all targets. It could be worth to create such a type in tree.c and stick
On Sat, Jul 20, 2013 at 10:19:55AM +0200, Marek Polacek wrote:
> On Sat, Jul 20, 2013 at 02:04:24AM -0400, Jason Merrill wrote:
> > On 07/19/2013 03:01 PM, Marek Polacek wrote:
> > >On Fri, Jul 19, 2013 at 08:50:42PM +0200, Jakub Jelinek wrote:
> > >>uintptr_type_node is a C/C++/ObjC/ObjC++ FE tree
On Sat, Jul 20, 2013 at 02:04:24AM -0400, Jason Merrill wrote:
> On 07/19/2013 03:01 PM, Marek Polacek wrote:
> >On Fri, Jul 19, 2013 at 08:50:42PM +0200, Jakub Jelinek wrote:
> >>uintptr_type_node is a C/C++/ObjC/ObjC++ FE tree. So, if you use it just
> >>in c-family/c-ubsan.c, that is just fine,
On 07/19/2013 03:01 PM, Marek Polacek wrote:
On Fri, Jul 19, 2013 at 08:50:42PM +0200, Jakub Jelinek wrote:
uintptr_type_node is a C/C++/ObjC/ObjC++ FE tree. So, if you use it just
in c-family/c-ubsan.c, that is just fine, but you can't use it in ubsan.c.
Any reason not to move it into the mi
On Fri, Jul 19, 2013 at 08:45:30PM +0200, Marek Polacek wrote:
> > >+uptr_type (void)
> > >+{
> > >+ return build_nonstandard_integer_type (POINTER_SIZE, 1);
> >
> > Why not use uintptr_type_node?
>
> I suppose I could. I just followed suit what asan.c does. I didn't
> address this in this pat
On Thu, Jul 18, 2013 at 03:47:28PM -0400, Jason Merrill wrote:
> On 07/05/2013 10:04 AM, Marek Polacek wrote:
> >+/* This type represents an entry in the hash table. */
>
> Please describe the hash table more up here. What are you tracking?
Ok, I've added two more comments.
> >+ hashval_t h =
On Fri, Jul 19, 2013 at 08:50:42PM +0200, Jakub Jelinek wrote:
> On Fri, Jul 19, 2013 at 08:45:30PM +0200, Marek Polacek wrote:
> > > >+uptr_type (void)
> > > >+{
> > > >+ return build_nonstandard_integer_type (POINTER_SIZE, 1);
> > >
> > > Why not use uintptr_type_node?
> >
> > I suppose I coul
On Fri, Jul 19, 2013 at 05:20:39PM +0200, Jakub Jelinek wrote:
> > >I have yet to handle
> > >freeing the hash table, but I think I'll need the GTY machinery for
> > >this (ubsan is not a pass, so I can't just call it at the end of the
> > >pas). Or maybe just create a destructor and use append_to
On Thu, Jul 18, 2013 at 03:47:28PM -0400, Jason Merrill wrote:
> Please describe the hash table more up here. What are you tracking?
>
> >+ hashval_t h = iterative_hash_object (data->type, 0);
> >+ h = iterative_hash_object (data->decl, h);
>
> If you hash the decl as well as the type, the fin
On 07/05/2013 10:04 AM, Marek Polacek wrote:
+/* This type represents an entry in the hash table. */
Please describe the hash table more up here. What are you tracking?
+ hashval_t h = iterative_hash_object (data->type, 0);
+ h = iterative_hash_object (data->decl, h);
If you hash the de
This patch adds creating and passing the arguments for the ubsan
library. So, we can finally make use of the ubsan library. We
currently sanitize only divisions by zero and shifts. What it can do
now is e.g. for:
int main (void) { long int a = 4; int b = 113; return a << b; }
it at runtime says:
16 matches
Mail list logo