[swift-dev] Starter project: SR-2: Build configuration directives can not wrap switch cases

Dmitri Gribenko gribozavr at gmail.com
Thu Dec 17 11:06:12 CST 2015


On Thu, Dec 17, 2015 at 7:58 AM, Meador Inge <meadori at gmail.com> wrote:
> On Sun, Dec 6, 2015 at 5:04 PM, Dmitri Gribenko via swift-dev
> <swift-dev at swift.org> wrote:
>
>> Hi,
>>
>> If you're looking for a starter project in the frontend area (parser
>> in this case), here is one.
>>
>> https://bugs.swift.org/browse/SR-2
>>
>> This code should be accepted, but it is rejected now:
>>
>> switch 10 {
>>   case 10:
>>     break
>> #if FOO
>>   case 20:
>>     break
>> #endif
>> }
>>
>> $ swiftc /tmp/a.swift
>> /tmp/a.swift:5:3: error: 'case' label can only appear inside a
>> 'switch' statement
>>   case 20:
>>   ^
>
>
> Quick question about this one.
>
> As mentioned in SR-2, the current grammar for switch
> statements [1] does not allow for compiler control
> statements.  So, fixing this involves a grammar
> change.
>
> I suspect that grammar changes will require a proposal
> on the swift-evo list?

I think this can be treated as a bug fix.

Dmitri

-- 
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/


More information about the swift-dev mailing list