mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 09:54:49 +00:00
adds --legacy:noAsmSemSymbol
This commit is contained in:
@@ -17,7 +17,7 @@ rounding guarantees (via the
|
||||
- Unknown warnings and hints now gives warnings `warnUnknownNotes` instead of
|
||||
errors.
|
||||
|
||||
- With `-d:nimPreviewAsmSemSymbol`, backticked symbols are type checked in the `asm/emit` statements.
|
||||
- backticked symbols are type checked in the `asm/emit` statements. Use `--legacy:noAsmSemSymbol` for a transitional period.
|
||||
|
||||
## Standard library additions and changes
|
||||
|
||||
|
||||
@@ -173,3 +173,5 @@ proc initDefines*(symbols: StringTableRef) =
|
||||
defineSymbol("nimHasXorSet")
|
||||
|
||||
defineSymbol("nimHasLegacyNoStrictDefs")
|
||||
|
||||
defineSymbol("nimHasAsmSemSymbol")
|
||||
|
||||
@@ -10,7 +10,6 @@ define:nimPreviewProcConversion
|
||||
define:nimPreviewRangeDefault
|
||||
define:nimPreviewNonVarDestructor
|
||||
define:nimPreviewCheckedClose
|
||||
define:nimPreviewAsmSemSymbol
|
||||
threads:off
|
||||
|
||||
#import:"$projectpath/testability"
|
||||
|
||||
@@ -250,6 +250,8 @@ type
|
||||
## Old transformation for closures in JS backend
|
||||
noStrictDefs
|
||||
## disable "strictdefs"
|
||||
noAsmSemSymbol
|
||||
## disable type checking for backticked symbols in the `asm/emit` statements
|
||||
|
||||
SymbolFilesOption* = enum
|
||||
disabledSf, writeOnlySf, readOnlySf, v2Sf, stressTest
|
||||
|
||||
@@ -637,10 +637,11 @@ proc semAsmOrEmit*(con: PContext, n: PNode, marker: char): PNode =
|
||||
# XXX what to do here if 'amb' is true?
|
||||
if e != nil:
|
||||
incl(e.flags, sfUsed)
|
||||
if isDefined(con.config, "nimPreviewAsmSemSymbol"):
|
||||
result.add con.semExprWithType(con, newSymNode(e), {efTypeAllowed})
|
||||
else:
|
||||
|
||||
if noAsmSemSymbol in con.config.legacyFeatures:
|
||||
result.add newSymNode(e)
|
||||
else:
|
||||
result.add con.semExprWithType(con, newSymNode(e), {efTypeAllowed})
|
||||
else:
|
||||
result.add newStrNode(nkStrLit, sub)
|
||||
else:
|
||||
|
||||
@@ -38,7 +38,6 @@ switch("define", "nimPreviewHashRef")
|
||||
switch("define", "nimPreviewRangeDefault")
|
||||
switch("define", "nimPreviewNonVarDestructor")
|
||||
switch("define", "nimPreviewCheckedClose")
|
||||
switch("define", "nimPreviewAsmSemSymbol")
|
||||
|
||||
switch("warningAserror", "UnnamedBreak")
|
||||
when not defined(testsConciseTypeMismatch):
|
||||
|
||||
Reference in New Issue
Block a user