diff options
author | Joseph Myers <joseph@codesourcery.com> | 2009-05-04 13:23:50 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2009-05-04 13:23:50 +0100 |
commit | a3af5087d9b0e120764cb3852da73149be17dfac (patch) | |
tree | f7e08408fe3883d28eb96bdfd6745551e07b82a0 /gcc/testsuite | |
parent | ea5cd5f17f80c6f6d6cf8b2a0868675e7c8ea391 (diff) | |
download | gcc-a3af5087d9b0e120764cb3852da73149be17dfac.zip gcc-a3af5087d9b0e120764cb3852da73149be17dfac.tar.gz gcc-a3af5087d9b0e120764cb3852da73149be17dfac.tar.bz2 |
intl.c (locale_encoding, [...]): New.
* intl.c (locale_encoding, locale_utf8): New.
(gcc_init_libintl): Initialize locale_encoding and locale_utf8.
* intl.h (locale_encoding, locale_utf8): Declare.
* pretty-print.c: Include ggc.h. Include iconv.h if HAVE_ICONV.
(pp_base_tree_identifier, decode_utf8_char, identifier_to_locale):
New.
* pretty-print.h (pp_identifier): Call identifier_to_locale on ID
argument.
(pp_tree_identifier): Define to call pp_base_tree_identifier.
(pp_base_tree_identifier): Declare as function.
(identifier_to_locale): Declare.
* Makefile.in (pretty-print.o): Update dependencies.
* varasm.c (finish_aliases_1): Use %qE for identifiers in
diagnostics.
testsuite:
* gcc.dg/attr-alias-5.c, gcc.dg/ucnid-7.c: New tests.
From-SVN: r147096
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-alias-5.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/ucnid-7.c | 7 |
3 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8e85e53..9fa40cb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-05-04 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/attr-alias-5.c, gcc.dg/ucnid-7.c: New tests. + 2009-05-03 Eric Botcazou <ebotcazou@adacore.com> * gcc.target/sparc/fpmul-2.c: Replace final_cleanup with optimized. diff --git a/gcc/testsuite/gcc.dg/attr-alias-5.c b/gcc/testsuite/gcc.dg/attr-alias-5.c new file mode 100644 index 0000000..554668d --- /dev/null +++ b/gcc/testsuite/gcc.dg/attr-alias-5.c @@ -0,0 +1,12 @@ +/* Verify diagnostics for aliases to strings containing extended + identifiers or bad characters. */ +/* { dg-do compile } */ +/* { dg-options "-std=gnu99" } */ +/* { dg-require-alias "" } */ + +void f0 (void) __attribute__((alias("\xa1"))); /* { dg-error "undefined symbol '\\\\241'" } */ +void f1 (void) __attribute__((alias("\u00e9"))); /* { dg-error "undefined symbol '\\\\U000000e9'" } */ +void f2 (void) __attribute__((alias("\uffff"))); /* { dg-error "undefined symbol '\\\\U0000ffff'" } */ +void f3 (void) __attribute__((alias("\U000fffff"))); /* { dg-error "undefined symbol '\\\\U000fffff'" } */ +void f4 (void) __attribute__((alias("\U00ffffff"))); /* { dg-error "undefined symbol '\\\\U00ffffff'" } */ +void f5 (void) __attribute__((alias("\U0fffffff"))); /* { dg-error "undefined symbol '\\\\U0fffffff'" } */ diff --git a/gcc/testsuite/gcc.dg/ucnid-7.c b/gcc/testsuite/gcc.dg/ucnid-7.c new file mode 100644 index 0000000..fe53a49 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ucnid-7.c @@ -0,0 +1,7 @@ +/* Verify diagnostics for extended identifiers refer to UCNs (in the C + locale). */ +/* { dg-do compile } */ +/* { dg-options "-std=c99 -fextended-identifiers" } */ + +void *p = &\u00e9; /* { dg-error "'\\\\U000000e9' undeclared" } */ +void *q = &\u1e00; /* { dg-error "'\\\\U00001e00' undeclared" } */ |