Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging features/stackalloc-init into dev15.7.x #25476

Merged
merged 53 commits into from
Mar 15, 2018
Merged
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
9c31503
Implement stackalloc initializers
alrz Jan 25, 2018
1ff896d
Update resources
alrz Jan 26, 2018
edc09fc
Address test failures
alrz Jan 26, 2018
cf00fbe
Visit initializer elements in flow analysis
alrz Jan 31, 2018
9e86f06
Whitespaces.
alrz Feb 1, 2018
2a65a3d
Explicitly import ImmutableArray extensions
alrz Feb 1, 2018
27253fa
Revert code.
alrz Feb 1, 2018
9ef4752
Avoid binding the initializer twice
alrz Feb 1, 2018
6e9010a
Fix up formatting
alrz Feb 1, 2018
47a58ff
Add flowpass tests
alrz Feb 1, 2018
d641f40
Clean up tests
alrz Feb 1, 2018
aa4b04d
Fix typo
alrz Feb 1, 2018
7ff7236
Revert code.
alrz Feb 8, 2018
facb834
Add parsing test for bad implicit stackalloc
alrz Feb 8, 2018
f95fb81
Test stackalloc in catch and finally
alrz Feb 8, 2018
6584454
Whitespaces.
alrz Feb 8, 2018
974ee8b
Add more best type tests
alrz Feb 8, 2018
dde9175
Verify execution order
alrz Feb 8, 2018
1eb9599
Assert symbols
alrz Feb 8, 2018
b2a28eb
Emit element-wise assignments for anything larger than byte
alrz Feb 8, 2018
c13dd3a
Revert code.
alrz Feb 8, 2018
9c5a72e
Clean up.
alrz Feb 8, 2018
442c0d7
Add braces.
alrz Feb 8, 2018
779ff18
Assert symbol from syntax
alrz Feb 8, 2018
916304f
Merge pull request #24249 from alrz/features/stackalloc-init
VSadov Feb 8, 2018
0f92e1d
Share code.
alrz Feb 9, 2018
1f8a00f
Use initblk whenever possible regardless of type size
alrz Feb 17, 2018
5836dda
Address test failures
alrz Feb 17, 2018
8e467f4
PR feedback
alrz Feb 21, 2018
d06666d
Merge pull request #24915 from alrz/stackalloc-initblk
VSadov Feb 21, 2018
130659f
Create testplan doc for stackalloc initializers.
VSadov Feb 22, 2018
82f521c
[stackalloc-init] Improve error tolerance when parsing invalid implic…
alrz Feb 27, 2018
1e681a5
Add more tests.
alrz Feb 27, 2018
2037b29
Delete stackalloc_initializers.md
alrz Mar 1, 2018
a1a7258
PR feedback
alrz Mar 2, 2018
1c292ee
Merge pull request #25101 from alrz/stackalloc-init-tests
VSadov Mar 5, 2018
44c96b9
Merge pull request #25309 from dotnet/merges/dev15.7.x-to-features/co…
Shyam-Gupta Mar 7, 2018
0fdddd9
Renamings
alrz Mar 9, 2018
3eb28cc
Add symbol tests
alrz Mar 9, 2018
07ca909
Add capture test
alrz Mar 9, 2018
3a3ed9b
Merge remote-tracking branch 'origin/features/compiler' into stackall…
alrz Mar 9, 2018
b9b337f
Follow-up on merge from 'features/compiler' into stackalloc-init
alrz Mar 9, 2018
29092d4
Add IOperation tests
alrz Mar 9, 2018
3d07cef
Add symbol tests for error cases
alrz Mar 10, 2018
b4d5380
Merge pull request #25382 from alrz/stackalloc-init-api
VSadov Mar 11, 2018
575e457
Merge remote-tracking branch 'origin/features/stackalloc-init' into s…
alrz Mar 12, 2018
6d45baf
Fix up IOperation test
alrz Mar 12, 2018
5952447
Merge pull request #25384 from alrz/stackalloc-init-merge
VSadov Mar 12, 2018
3925afd
Merge remote-tracking branch 'upstream/dev15.7.x' into stackallocMerge
VSadov Mar 12, 2018
4258cf3
Merge pull request #25430 from VSadov/stackallocMerge
VSadov Mar 13, 2018
6fee994
merge from dev15.7.x to features/stackalloc-init
VSadov Mar 14, 2018
bd0c63c
Updated error IDs after merge
VSadov Mar 14, 2018
b144b34
Merge pull request #25474 from VSadov/inits01
VSadov Mar 14, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Updated error IDs after merge
  • Loading branch information
VSadov committed Mar 14, 2018
commit bd0c63c9524256e6dc62bd64e98622ce925bf69d
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Pokud chcete odstranit toto varování, můžete místo toho použít /reference
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Um die Warnung zu beheben, können Sie stattdessen /reference verwenden (Einbett
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Para eliminar la advertencia puede usar /reference (establezca la propiedad Embe
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Pour supprimer l'avertissement, vous pouvez utiliser la commande /reference (dé
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Per rimuovere l'avviso, è invece possibile usare /reference (impostare la propr
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Aby usunąć ostrzeżenie, możesz zamiast tego użyć opcji /reference (ustaw w
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Para incorporar informações de tipo de interoperabilidade para os dois assembl
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ Uyarıyı kaldırmak için, /reference kullanabilirsiniz (Birlikte Çalışma T
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
10 changes: 10 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf
Original file line number Diff line number Diff line change
@@ -8685,6 +8685,16 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<target state="new">Type parameter '{1}' has the 'unmanaged' constraint so '{1}' cannot be used as a constraint for '{0}'</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
<trans-unit id="ERR_InvalidStackAllocArray">
<source>"Invalid rank specifier: expected ']'</source>
<target state="new">"Invalid rank specifier: expected ']'</target>
<note />
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
@@ -404,7 +404,7 @@ public void F(int dimension)
ILiteralOperation (OperationKind.Literal, Type: System.Int32, Constant: 0, IsInvalid, IsImplicit) (Syntax: 'stackalloc[2]/*</bind>*/')
";
var expectedDiagnostics = new DiagnosticDescription[] {
// file.cs(6,38): error CS8373: "Invalid rank specifier: expected ']'
// file.cs(6,38): error CS8381: "Invalid rank specifier: expected ']'
// var x = /*<bind>*/stackalloc[2]/*</bind>*/;
Diagnostic(ErrorCode.ERR_InvalidStackAllocArray, "2").WithLocation(6, 38),
// file.cs(6,51): error CS1514: { expected
Original file line number Diff line number Diff line change
@@ -584,7 +584,7 @@ public void Method1()
}", TestOptions.UnsafeReleaseDll);

comp.VerifyDiagnostics(
// (7,35): error CS8373: "Invalid rank specifier: expected ']'
// (7,35): error CS8381: "Invalid rank specifier: expected ']'
// var obj2 = stackalloc [,] { 1 };
Diagnostic(ErrorCode.ERR_InvalidStackAllocArray, ",").WithLocation(7, 35),
// (6,31): error CS1575: A stackalloc expression requires [] after type
Loading