[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