From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16767 invoked by alias); 31 Mar 2017 11:03:20 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 16738 invoked by uid 89); 31 Mar 2017 11:03:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-6.9 required=5.0 tests=BAYES_00,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=lax X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 31 Mar 2017 11:03:17 +0000 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7544C64062 for ; Fri, 31 Mar 2017 11:03:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 7544C64062 Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 7544C64062 Received: from cascais.lan (ovpn04.gateway.prod.ext.phx2.redhat.com [10.5.9.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id E98FE18640 for ; Fri, 31 Mar 2017 11:03:15 +0000 (UTC) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH v2 0/2] PR c++/21323: char16_t/char32_t/wchar_t built-in C++ types Date: Fri, 31 Mar 2017 11:03:00 -0000 Message-Id: <1490958195-25657-1-git-send-email-palves@redhat.com> X-SW-Source: 2017-03/txt/msg00534.txt.bz2 This series fixes PR c++/21323, a bug report that shows that GDB thinks C++11's char16_t and char32_t built-in types are signed, while the standard clearly says they're unsigned. While working on it, I noticed that GDB isn't aware that wchar_t is a built-in type in C++ either (and it was already the case in C++98). The second patch fixes that. Tested on x86_64 Fedora 23. New in v2: - Make the tests a bit more lax when testing C/C++98, WRT to the underlying type of char16_t/char32_t - accept any of unsigned long/short/int. - Go through all ports and override wchar_t size/sign appropriately. Pedro Alves (2): Fix PR c++/21323: GDB thinks char16_t and char32_t are signed in C++ Teach GDB that wchar_t is a built-in type in C++ mode gdb/aarch64-tdep.c | 2 + gdb/alpha-tdep.c | 2 + gdb/arm-tdep.c | 7 ++ gdb/avr-tdep.c | 3 + gdb/c-lang.c | 9 ++ gdb/dwarf2read.c | 19 +++- gdb/gdbarch.c | 48 ++++++++ gdb/gdbarch.h | 11 ++ gdb/gdbarch.sh | 6 + gdb/gdbtypes.c | 8 +- gdb/gdbtypes.h | 1 + gdb/h8300-tdep.c | 4 + gdb/i386-nto-tdep.c | 3 + gdb/m32r-tdep.c | 3 + gdb/moxie-tdep.c | 3 + gdb/nds32-tdep.c | 3 + gdb/rs6000-aix-tdep.c | 5 + gdb/sh-tdep.c | 4 + gdb/sparc-tdep.c | 3 + gdb/sparc64-tdep.c | 3 + gdb/testsuite/gdb.cp/wide_char_types.c | 30 +++++ gdb/testsuite/gdb.cp/wide_char_types.exp | 181 +++++++++++++++++++++++++++++++ gdb/windows-tdep.c | 3 + gdb/xstormy16-tdep.c | 3 + gdb/xtensa-tdep.c | 3 + 25 files changed, 361 insertions(+), 6 deletions(-) create mode 100644 gdb/testsuite/gdb.cp/wide_char_types.c create mode 100644 gdb/testsuite/gdb.cp/wide_char_types.exp -- 2.5.5