diff options
author | mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-07 19:36:31 +0000 |
---|---|---|
committer | mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-07 19:36:31 +0000 |
commit | cdc64059c5405c2b3c489b071edfe2127cc45333 (patch) | |
tree | 12367850915ce482968be36f7c2f4344d74b5ed5 /gcc/testsuite/gcc.dg/c90-left-shift-1.c | |
parent | e58b5f40ac976b65acb3827b16afa10ab7a11eb6 (diff) | |
download | gcc-cdc64059c5405c2b3c489b071edfe2127cc45333.tar.gz |
PR c/65179
* c-common.c (c_fully_fold_internal): Warn when left shifting a
negative value.
* c.opt (Wshift-negative-value): New option.
* c-opts.c (c_common_post_options): Set warn_shift_negative_value
when -Wextra and C99/C++11 mode.
* c-typeck.c (build_binary_op): Warn when left shifting a negative
value.
* typeck.c (cp_build_binary_op): Warn when left shifting a negative
value.
* doc/invoke.texi: Document -Wshift-negative-value.
* c-c++-common/Wshift-negative-value-1.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-2.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-3.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-4.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-5.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-6.c: New test.
* testsuite/gcc.dg/c90-left-shift-1.c: New test.
* testsuite/gcc.dg/c99-const-expr-7.c: Add dg-error.
* testsuite/gcc.dg/c99-left-shift-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222889 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/c90-left-shift-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/c90-left-shift-1.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/c90-left-shift-1.c b/gcc/testsuite/gcc.dg/c90-left-shift-1.c new file mode 100644 index 00000000000..755595f5c27 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c90-left-shift-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + +enum E { A = -2 << 1 }; +int i = -1 << 0; + +int +f (int i) +{ + switch (i) + case -1 << 0: break; +} |