diff --git a/src/generators/hl2c.ml b/src/generators/hl2c.ml index e835f73303f..ac567ed88ef 100644 --- a/src/generators/hl2c.ml +++ b/src/generators/hl2c.ml @@ -98,13 +98,13 @@ let keywords = "typeof"; (* C11 *) "_Alignas";"_Alignof";"_Atomic";"_Bool";"_Complex";"_Generic";"_Imaginary";"_Noreturn";"_Static_assert";"_Thread_local";"_Pragma"; - "inline";"restrict" + "inline";"restrict";"_restrict" ] in let h = Hashtbl.create 0 in List.iter (fun i -> Hashtbl.add h i ()) c_kwds; h -let ident i = if (Hashtbl.mem keywords i) || (ExtString.String.starts_with "__" i) then "_hx_" ^ i else i +let ident i = if (Hashtbl.mem keywords i) || (ExtString.String.starts_with i "__") then "_hx_" ^ i else i let s_comp = function | CLt -> "<" diff --git a/tests/misc/hl/reservedKeywords/Macro.macro.hx b/tests/misc/hl/reservedKeywords/Macro.macro.hx index a47548b6cea..9e76e54d2eb 100644 --- a/tests/misc/hl/reservedKeywords/Macro.macro.hx +++ b/tests/misc/hl/reservedKeywords/Macro.macro.hx @@ -19,12 +19,12 @@ class Macro { "typeof", // C11 "_Alignas", "_Alignof", "_Atomic", "_Bool", "_Complex", "_Generic", "_Imaginary", "_Noreturn", "_Static_assert", "_Thread_local", "_Pragma", - "inline", "restrict" + "inline", "restrict", "_restrict" ]; var pos = Context.currentPos(); - for (k in keywords) + for (k in keywords) { fields.push({ pos: pos, name: "_test_" + k, @@ -32,6 +32,14 @@ class Macro { kind: FVar(macro :String, null) }); + fields.push({ + pos: pos, + name: "_test2_" + k, + meta: [{pos: pos, name: ":native", params: [macro $v{'__' + k}]}], + kind: FVar(macro :String, null) + }); + } + return fields; } }