switch.c revision c049e4f406a7f7179eba98659044a32508e53289
151b09f2c528c8460b5465c676173324e44176d62Devang Patel// RUN: clang %s -emit-llvm | llvm-as | opt -std-compile-opts -disable-output 251b09f2c528c8460b5465c676173324e44176d62Devang Patel 351b09f2c528c8460b5465c676173324e44176d62Devang Patelint foo(int i) { 451b09f2c528c8460b5465c676173324e44176d62Devang Patel int j = 0; 551b09f2c528c8460b5465c676173324e44176d62Devang Patel switch (i) { 651b09f2c528c8460b5465c676173324e44176d62Devang Patel case 1 : 751b09f2c528c8460b5465c676173324e44176d62Devang Patel j = 2; break; 851b09f2c528c8460b5465c676173324e44176d62Devang Patel case 2: 951b09f2c528c8460b5465c676173324e44176d62Devang Patel j = 3; break; 1051b09f2c528c8460b5465c676173324e44176d62Devang Patel default: 1151b09f2c528c8460b5465c676173324e44176d62Devang Patel j = 42; break; 1251b09f2c528c8460b5465c676173324e44176d62Devang Patel } 1351b09f2c528c8460b5465c676173324e44176d62Devang Patel j = j + 1; 1451b09f2c528c8460b5465c676173324e44176d62Devang Patel return j; 1551b09f2c528c8460b5465c676173324e44176d62Devang Patel} 1651b09f2c528c8460b5465c676173324e44176d62Devang Patel 1751b09f2c528c8460b5465c676173324e44176d62Devang Patel 182d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patelint foo2(int i) { 192d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel int j = 0; 202d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel switch (i) { 212d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel case 1 : 222d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel j = 2; break; 232d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel case 2 ... 10: 242d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel j = 3; break; 252d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel default: 262d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel j = 42; break; 272d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel } 282d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel j = j + 1; 292d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel return j; 302d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel} 312d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel 322d79d0f3ac0ea77b7bdfc3dd11de8cc3ccd91b8cDevang Patel 33c049e4f406a7f7179eba98659044a32508e53289Devang Patelint foo3(int i) { 34c049e4f406a7f7179eba98659044a32508e53289Devang Patel int j = 0; 35c049e4f406a7f7179eba98659044a32508e53289Devang Patel switch (i) { 36c049e4f406a7f7179eba98659044a32508e53289Devang Patel default: 37c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 42; break; 38c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 111: 39c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 111; break; 40c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 0 ... 100: 41c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 1; break; 42c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 222: 43c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 222; break; 44c049e4f406a7f7179eba98659044a32508e53289Devang Patel } 45c049e4f406a7f7179eba98659044a32508e53289Devang Patel return j; 46c049e4f406a7f7179eba98659044a32508e53289Devang Patel} 47c049e4f406a7f7179eba98659044a32508e53289Devang Patel 48c049e4f406a7f7179eba98659044a32508e53289Devang Patel 49c049e4f406a7f7179eba98659044a32508e53289Devang Patelint foo4(int i) { 50c049e4f406a7f7179eba98659044a32508e53289Devang Patel int j = 0; 51c049e4f406a7f7179eba98659044a32508e53289Devang Patel switch (i) { 52c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 111: 53c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 111; break; 54c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 0 ... 100: 55c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 1; break; 56c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 222: 57c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 222; break; 58c049e4f406a7f7179eba98659044a32508e53289Devang Patel default: 59c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 42; break; 60c049e4f406a7f7179eba98659044a32508e53289Devang Patel case 501 ... 600: 61c049e4f406a7f7179eba98659044a32508e53289Devang Patel j = 5; break; 62c049e4f406a7f7179eba98659044a32508e53289Devang Patel } 63c049e4f406a7f7179eba98659044a32508e53289Devang Patel return j; 64c049e4f406a7f7179eba98659044a32508e53289Devang Patel} 65