OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [pr21582.c] - Rev 12

Compare with Previous | Blame | View Log

/* { dg-do link }  */
/* { dg-options "-O2 -fdump-tree-vrp" }  */
 
static inline void do_thing(char *s, int *p, char *q)
{
  	/* This should be folded away.  */
        if (s == 0 || q == 0)
                link_error ();
 
	/* This should not be folded as 'p' is not marked nonnull.  */
	if (p)
	  	*p = 3;
}
 
void __attribute__((nonnull (1, 3))) do_other_thing(char *s, int *p, char *q)
{
        do_thing(s, p, q);
}
 
int i;
 
main()
{
  do_other_thing ("xxx", &i, "yyy");
}
 
/* { dg-final { scan-tree-dump-times "Folding predicate p_.*" 0 "vrp" } } */
/* { dg-final { cleanup-tree-dump "vrp" } } */
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.