From c7adc93617712acdde0ea81649eff11ada7d96b9 Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Mon, 24 Feb 2020 20:22:45 +0100 Subject: The type of a wide char constant is wchar_t. (#223) See ISO C2011 standard, section 6.4.4.4 para 11. --- cparser/Elab.ml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cparser') diff --git a/cparser/Elab.ml b/cparser/Elab.ml index 9aa6761c..f60e15a3 100644 --- a/cparser/Elab.ml +++ b/cparser/Elab.ml @@ -452,7 +452,8 @@ let elab_constant loc = function let (v, fk) = elab_float_constant f in CFloat(v, fk) | CONST_CHAR(wide, s) -> - CInt(elab_char_constant loc wide s, IInt, "") + let ikind = if wide then wchar_ikind () else IInt in + CInt(elab_char_constant loc wide s, ikind, "") | CONST_STRING(wide, s) -> elab_string_literal loc wide s -- cgit