Commit Graph

8 Commits

Author SHA1 Message Date
Rintaro Ishizaki
47372122a1 [Parse] Adjust diagnostic location for platform condition arguments
Previously, diagnostics for arguments of platform conditions (e.g.
'os(macOS)') used to point the condition name position instead of the
argument position.
Adjust the position to the start of the argument.

rdar://124160048
2024-03-18 23:23:27 +09:00
Daniel Martín
e66095b10a [Parser] Support "<" unary operator in #if swift() expressions
Until now, only ">=" was supported in #if swift() expressions, for example:

```#if swift(>=2.1)
```#endif

This means that if we want to evaluate code only when the language version is
less than a particular version we need to do the following:

```#if !swift(>=2.1)
```#endif

An alernative to make this more readable (the "!" can be easily missed in a code
review) is to introduce another supported unary operator, "<". The previous
example could be rewritten like this:

```#if swift(<2.1)
```#endif

This commit adds support for that unary operator, along with some tests.
2018-08-02 20:35:58 +02:00
Rintaro Ishizaki
3b42894f13 [Parse] Fix parsing three-version-components in #if
* Narrow allowance of 3+ components numeric literal to condition part of the
  directive.
* Allow 3+ components in '#if' directive in decl list position as well.
2017-02-16 11:35:51 +09:00
David Farler
b7d17b25ba Rename -parse flag to -typecheck
A parse-only option is needed for parse performance tracking and the
current option also includes semantic analysis.
2016-11-28 10:50:55 -08:00
Graydon Hoare
1af5c856fa Support #if swift(subminor-version), rdar://problem/28786959 / SR-2908. 2016-10-24 18:12:45 -07:00
Robert Widmann
389f779a27 Fixup tests 2016-07-31 19:28:45 -07:00
David Farler
b036bd4bb1 Suppress diagnostics when using #if swift around declarations
There are two similar but separate code paths for conditionally
compiling declarations and statements. Previously, only statements were
properly covered with a diagnostic transaction.

rdar://problem/24844513
2016-02-25 14:23:31 -08:00
Jordan Rose
7954be4d87 [test] Move BuildConfigurations/ to Parse/ConditionalCompilation/.
Also move a Parse test that's really about conditional compilation
directives into the new folder.
2016-02-12 11:10:32 -08:00