Fix bcp-1.c testcase WRT -fuse-linker-plugin

Richard Guenther richard.guenther@gmail.com
Wed Dec 1 15:54:00 GMT 2010


On Wed, Dec 1, 2010 at 3:25 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> with -fuse-linker-plugin we are now too smart on handling bcp-1.c testcase.  This patch
> makes it more difficult for optimizers to parse.
>
> OK?

Ok.

Thanks,
Richard.

> Honza
>
>        * gcc.c-torture/execute/bcp-1.c: Make ready for -fuse-linker-plugin
> Index: gcc.c-torture/execute/bcp-1.c
> ===================================================================
> *** gcc.c-torture/execute/bcp-1.c       (revision 167242)
> --- gcc.c-torture/execute/bcp-1.c       (working copy)
> ***************
> *** 1,4 ****
> ! int global;
>  int func(void);
>
>  /* These must fail.  */
> --- 1,4 ----
> ! __attribute__ ((externally_visible)) int global;
>  int func(void);
>
>  /* These must fail.  */
> *************** int opt2(void) { return __builtin_consta
> *** 39,61 ****
>
>
>  /* Call through tables so -finline-functions can't screw with us.  */
> ! int (*bad_t0[])(void) = {
>        bad0, bad1, bad5, bad7, bad8, bad10
>  };
>
> ! int (*bad_t1[])(int x) = {
>        bad2, bad3, bad6
>  };
>
> ! int (*bad_t2[])(const char *x) = {
>        bad4, bad9
>  };
>
> ! int (*good_t0[])(void) = {
>        good0, good1, good2
>  };
>
> ! int (*opt_t0[])(void) = {
>        opt0, opt1, opt2 /* , opt3 */
>  };
>
> --- 39,61 ----
>
>
>  /* Call through tables so -finline-functions can't screw with us.  */
> ! int (* volatile bad_t0[])(void) = {
>        bad0, bad1, bad5, bad7, bad8, bad10
>  };
>
> ! int (* volatile bad_t1[])(int x) = {
>        bad2, bad3, bad6
>  };
>
> ! int (* volatile bad_t2[])(const char *x) = {
>        bad4, bad9
>  };
>
> ! int (* volatile good_t0[])(void) = {
>        good0, good1, good2
>  };
>
> ! int (* volatile opt_t0[])(void) = {
>        opt0, opt1, opt2 /* , opt3 */
>  };
>
>



More information about the Gcc-patches mailing list