From 80a34fe70cb8013355cb0ca3558c7de389b5c141 Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Wed, 30 Oct 2013 21:47:34 +0400 Subject: [PATCH] updated hints file with known bug about shifting variables of set type --- hints | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hints b/hints index ec9bdbdc..d0af3b6f 100644 --- a/hints +++ b/hints @@ -24,3 +24,8 @@ set your BOOLEAN value in OPM.OpenPari (or in ScanOptions, after the CASE) so yo check your boolean when necessary, (see useParFile in OPM.GetOptions) add it in OPC.GenHeaderMsg function. +==known bugs== + +when SYSTEM.LSH(s, n) where s is SET c compiler generates an error: "error: duplicate 'unsigned'", that's because SET is defined as unsigned already and LSH is defined in SYSTEM.h as ((t)((unsigned t)(x)<<(n))), that's why currently it's not possible to make SYSTEM.LSH with type SET. +I don't want to prohibit it at the parser level because C backend is only one of possible backends. +The solution currently is to cast set type to longint before lsh-ing it. And then casting it back to set if necessary.