From 640b8af802bf3d33d628b0f2d43a96318a62c2d6 Mon Sep 17 00:00:00 2001
From: Alex Beregszaszi <alex@rtfs.hu>
Date: Tue, 24 Jul 2018 20:03:13 +0100
Subject: Add syntax tests for assembly block type (evmasm)

---
 test/libsolidity/syntaxTests/parsing/assembly_evmasm_type.sol  | 5 +++++
 test/libsolidity/syntaxTests/parsing/assembly_invalid_type.sol | 7 +++++++
 2 files changed, 12 insertions(+)
 create mode 100644 test/libsolidity/syntaxTests/parsing/assembly_evmasm_type.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/assembly_invalid_type.sol

diff --git a/test/libsolidity/syntaxTests/parsing/assembly_evmasm_type.sol b/test/libsolidity/syntaxTests/parsing/assembly_evmasm_type.sol
new file mode 100644
index 00000000..28a07e63
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/assembly_evmasm_type.sol
@@ -0,0 +1,5 @@
+contract C {
+  function f() public pure {
+    assembly "evmasm" {}
+  }
+}
diff --git a/test/libsolidity/syntaxTests/parsing/assembly_invalid_type.sol b/test/libsolidity/syntaxTests/parsing/assembly_invalid_type.sol
new file mode 100644
index 00000000..c2d39279
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/assembly_invalid_type.sol
@@ -0,0 +1,7 @@
+contract C {
+  function f() public pure {
+    assembly "failasm" {}
+  }
+}
+// ----
+// ParserError: (55-64): Only "evmasm" supported.
-- 
cgit v1.2.3


From 008eb1c2c9830f655bbfb91865d463828dbffe1d Mon Sep 17 00:00:00 2001
From: Alex Beregszaszi <alex@rtfs.hu>
Date: Tue, 24 Jul 2018 20:04:21 +0100
Subject: Add syntax test for empty emit statement

---
 test/libsolidity/syntaxTests/emit_empty.sol | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 test/libsolidity/syntaxTests/emit_empty.sol

diff --git a/test/libsolidity/syntaxTests/emit_empty.sol b/test/libsolidity/syntaxTests/emit_empty.sol
new file mode 100644
index 00000000..819d88fe
--- /dev/null
+++ b/test/libsolidity/syntaxTests/emit_empty.sol
@@ -0,0 +1,7 @@
+contract C {
+  function f() public {
+    emit;
+  }
+}
+// ----
+// ParserError: (45-46): Expected event name or path.
-- 
cgit v1.2.3


From fa68e0019f92a2327bd31288e75ce44f3c8daf68 Mon Sep 17 00:00:00 2001
From: Alex Beregszaszi <alex@rtfs.hu>
Date: Tue, 24 Jul 2018 20:10:03 +0100
Subject: Add syntax test for location specifier redeclarations

---
 .../parsing/location_specifiers_for_locals_multi.sol         | 12 ++++++++++++
 .../parsing/location_specifiers_for_params_multi.sol         |  6 ++++++
 .../location_specifiers_for_state_variables_multi.sol        |  5 +++++
 3 files changed, 23 insertions(+)
 create mode 100644 test/libsolidity/syntaxTests/parsing/location_specifiers_for_locals_multi.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/location_specifiers_for_params_multi.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/location_specifiers_for_state_variables_multi.sol

diff --git a/test/libsolidity/syntaxTests/parsing/location_specifiers_for_locals_multi.sol b/test/libsolidity/syntaxTests/parsing/location_specifiers_for_locals_multi.sol
new file mode 100644
index 00000000..d53208ef
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/location_specifiers_for_locals_multi.sol
@@ -0,0 +1,12 @@
+contract Foo {
+    uint[] m_x;
+    function f() public view {
+        uint[] storage memory x = m_x;
+        uint[] memory storage calldata y;
+        x; y;
+    }
+}
+// ----
+// ParserError: (85-91): Location already specified.
+// ParserError: (123-130): Location already specified.
+// ParserError: (131-139): Location already specified.
diff --git a/test/libsolidity/syntaxTests/parsing/location_specifiers_for_params_multi.sol b/test/libsolidity/syntaxTests/parsing/location_specifiers_for_params_multi.sol
new file mode 100644
index 00000000..c6155c09
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/location_specifiers_for_params_multi.sol
@@ -0,0 +1,6 @@
+contract Foo {
+    function f(uint[] storage memory constant x, uint[] memory calldata y) internal { }
+}
+// ----
+// ParserError: (45-51): Location already specified.
+// ParserError: (78-86): Location already specified.
diff --git a/test/libsolidity/syntaxTests/parsing/location_specifiers_for_state_variables_multi.sol b/test/libsolidity/syntaxTests/parsing/location_specifiers_for_state_variables_multi.sol
new file mode 100644
index 00000000..e34df2b2
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/location_specifiers_for_state_variables_multi.sol
@@ -0,0 +1,5 @@
+contract Foo {
+	uint[] memory storage calldata x;
+}
+// ----
+// ParserError: (23-29): Expected identifier but got 'memory'
-- 
cgit v1.2.3


From 49573bad46f7c108bd3a00ec785f7da6a0066530 Mon Sep 17 00:00:00 2001
From: Alex Beregszaszi <alex@rtfs.hu>
Date: Tue, 24 Jul 2018 20:18:34 +0100
Subject: Add syntax test for illegal pragma key

---
 test/libsolidity/syntaxTests/parsing/pragma_illegal.sol | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 test/libsolidity/syntaxTests/parsing/pragma_illegal.sol

diff --git a/test/libsolidity/syntaxTests/parsing/pragma_illegal.sol b/test/libsolidity/syntaxTests/parsing/pragma_illegal.sol
new file mode 100644
index 00000000..3395f6be
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/pragma_illegal.sol
@@ -0,0 +1,4 @@
+pragma ``;
+// ----
+// ParserError: (7-8): Token incompatible with Solidity parser as part of pragma directive.
+// ParserError: (8-9): Token incompatible with Solidity parser as part of pragma directive.
-- 
cgit v1.2.3


From 7b5e9128747ff6f8775cdd2aa2029039f9850c2b Mon Sep 17 00:00:00 2001
From: Alex Beregszaszi <alex@rtfs.hu>
Date: Tue, 24 Jul 2018 20:22:46 +0100
Subject: Add syntax tests for import statements

---
 test/libsolidity/syntaxTests/parsing/import_complex.sol              | 3 +++
 test/libsolidity/syntaxTests/parsing/import_complex_invalid_from.sol | 3 +++
 test/libsolidity/syntaxTests/parsing/import_complex_without_from.sol | 3 +++
 test/libsolidity/syntaxTests/parsing/import_invalid_token.sol        | 3 +++
 test/libsolidity/syntaxTests/parsing/import_simple.sol               | 3 +++
 5 files changed, 15 insertions(+)
 create mode 100644 test/libsolidity/syntaxTests/parsing/import_complex.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/import_complex_invalid_from.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/import_complex_without_from.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/import_invalid_token.sol
 create mode 100644 test/libsolidity/syntaxTests/parsing/import_simple.sol

diff --git a/test/libsolidity/syntaxTests/parsing/import_complex.sol b/test/libsolidity/syntaxTests/parsing/import_complex.sol
new file mode 100644
index 00000000..8bbb0a88
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/import_complex.sol
@@ -0,0 +1,3 @@
+import {hello, world} from "hello";
+// ----
+// ParserError: (0-35): Source "hello" not found: File not supplied initially.
diff --git a/test/libsolidity/syntaxTests/parsing/import_complex_invalid_from.sol b/test/libsolidity/syntaxTests/parsing/import_complex_invalid_from.sol
new file mode 100644
index 00000000..c4667606
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/import_complex_invalid_from.sol
@@ -0,0 +1,3 @@
+import {hello, world} from function;
+// ----
+// ParserError: (27-35): Expected import path.
diff --git a/test/libsolidity/syntaxTests/parsing/import_complex_without_from.sol b/test/libsolidity/syntaxTests/parsing/import_complex_without_from.sol
new file mode 100644
index 00000000..961acb22
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/import_complex_without_from.sol
@@ -0,0 +1,3 @@
+import {hello, world};
+// ----
+// ParserError: (21-22): Expected "from".
diff --git a/test/libsolidity/syntaxTests/parsing/import_invalid_token.sol b/test/libsolidity/syntaxTests/parsing/import_invalid_token.sol
new file mode 100644
index 00000000..df837e28
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/import_invalid_token.sol
@@ -0,0 +1,3 @@
+import function;
+// ----
+// ParserError: (7-15): Expected string literal (path), "*" or alias list.
diff --git a/test/libsolidity/syntaxTests/parsing/import_simple.sol b/test/libsolidity/syntaxTests/parsing/import_simple.sol
new file mode 100644
index 00000000..5d61a8bb
--- /dev/null
+++ b/test/libsolidity/syntaxTests/parsing/import_simple.sol
@@ -0,0 +1,3 @@
+import "hello";
+// ----
+// ParserError: (0-15): Source "hello" not found: File not supplied initially.
-- 
cgit v1.2.3