From: Martin Liska Date: Fri, 20 Jan 2017 12:03:55 +0000 (+0100) Subject: alias-1.c: New testcase. X-Git-Tag: releases/gcc-5.5.0~575 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26736ac3d17699a5287e02ae0a7908728098af85;p=thirdparty%2Fgcc.git alias-1.c: New testcase. * gcc.c-torture/execute/alias-1.c: New testcase. * c-common.c: Do not silently ignore -fstrict-aliasing changes. 2017-01-20 Martin Liska Backport from mainline 2015-12-01 Jan Hubicka * c-common.c (parse_optimize_options): Do not silently ignore -fstrict-aliasing changes. 2017-01-20 Martin Liska Backport from mainline 2015-12-01 Jan Hubicka * gcc.c-torture/execute/alias-1.c: New testcase. From-SVN: r244707 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e92d48d6ef41..f9c24273fff7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2017-01-20 Martin Liska + + Backport from mainline + 2015-12-01 Jan Hubicka + + * c-common.c (parse_optimize_options): Do not silently ignore + -fstrict-aliasing changes. + 2017-01-20 Martin Liska Backport from mainline diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 1bf5d080034a..8d719c6f7f17 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -9321,7 +9321,6 @@ parse_optimize_options (tree args, bool attr_p) bool ret = true; unsigned opt_argc; unsigned i; - int saved_flag_strict_aliasing; const char **opt_argv; struct cl_decoded_option *decoded_options; unsigned int decoded_options_count; @@ -9414,8 +9413,6 @@ parse_optimize_options (tree args, bool attr_p) for (i = 1; i < opt_argc; i++) opt_argv[i] = (*optimize_args)[i]; - saved_flag_strict_aliasing = flag_strict_aliasing; - /* Now parse the options. */ decode_cmdline_options_to_array_default_mask (opt_argc, opt_argv, &decoded_options, @@ -9426,9 +9423,6 @@ parse_optimize_options (tree args, bool attr_p) targetm.override_options_after_change(); - /* Don't allow changing -fstrict-aliasing. */ - flag_strict_aliasing = saved_flag_strict_aliasing; - optimize_args->truncate (0); return ret; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 733321f35f70..975a1e574224 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2017-01-20 Martin Liska + + Backport from mainline + 2015-12-01 Jan Hubicka + + * gcc.c-torture/execute/alias-1.c: New testcase. + 2017-01-20 Martin Liska Backport from mainline diff --git a/gcc/testsuite/gcc.c-torture/execute/alias-1.c b/gcc/testsuite/gcc.c-torture/execute/alias-1.c new file mode 100644 index 000000000000..666e96f968ac --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/alias-1.c @@ -0,0 +1,19 @@ +int val; + +int *ptr = &val; +float *ptr2 = &val; + +__attribute__((optimize ("-fno-strict-aliasing"))) +typepun () +{ + *ptr2=0; +} + +main() +{ + *ptr=1; + typepun (); + if (*ptr) + __builtin_abort (); +} +