[#6084] tests ucnid-2.c/ucnid-3.c/ucnid-4.c in gcc.dg fail

Document created by Aaronwu Employee on Oct 17, 2013
Version 1Show Document
  • View in full screen mode

[#6084] tests ucnid-2.c/ucnid-3.c/ucnid-4.c in gcc.dg fail

Submitted By: Vivi Li

Open Date

2010-07-01 06:33:24     Close Date

2010-07-14 23:09:46

Priority:

Medium High     Assignee:

Mike Frysinger

Robin Getz

Board:

N/A     Silicon Revision:

Resolution:

Fixed     Fixed In Release:

2010R1

Processor:

ALL     

Host Operating System:

toolchain rev.:

    kernel rev.:

State:

Closed     Found In Release:

2009R1_RC10

Is this bug repeatable?:

N/A     

Summary: tests ucnid-2.c/ucnid-3.c/ucnid-4.c in gcc.dg fail

Details:

 

tests ucnid-2.c/ucnid-3.c/ucnid-4.c in gcc.dg fail.

 

The failure always exists, not a regression bug.

 

--

FAIL: gcc.dg/ucnid-2.c (test for excess errors)

WARNING: gcc.dg/ucnid-2.c compilation failed to produce executable

FAIL: gcc.dg/ucnid-3.c (test for excess errors)

WARNING: gcc.dg/ucnid-3.c compilation failed to produce executable

FAIL: gcc.dg/ucnid-4.c (test for excess errors)

WARNING: gcc.dg/ucnid-4.c compilation failed to produce executable

--

 

Bellow is the detail:

--

Executing on host: bfin-uclinux-gcc /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.dg/ucnid-2.c   -std=c99 -fextended-identifiers -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -Wl,-elf2flt=-s80000  -lm   -o ./ucnid-2.exe    (timeout = 300)

 

/tmp/ccCY5rZt.s: Assembler messages:

/tmp/ccCY5rZt.s:34: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:34: Error:

/tmp/ccCY5rZt.s:35: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:35: Error:

/tmp/ccCY5rZt.s:41: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:41: Error:

/tmp/ccCY5rZt.s:42: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:42: Error:

/tmp/ccCY5rZt.s:48: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:48: Error:

/tmp/ccCY5rZt.s:49: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:49: Error:

/tmp/ccCY5rZt.s:55: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:55: Error:

/tmp/ccCY5rZt.s:56: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:56: Error:

/tmp/ccCY5rZt.s:63: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:63: Error:

/tmp/ccCY5rZt.s:64: Error: syntax error. Input text was Ã.

/tmp/ccCY5rZt.s:64: Error:

compiler exited with status 1

--

 

--

Executing on host: bfin-uclinux-gcc /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.dg/ucnid-3.c   -std=c99 -fextended-identifiers -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -Wl,-elf2flt=-s80000  -lm   -o ./ucnid-3.exe    (timeout = 300)

 

/tmp/ccKds37y.s: Assembler messages:

/tmp/ccKds37y.s:39: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:39: Error:

/tmp/ccKds37y.s:40: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:40: Error:

/tmp/ccKds37y.s:46: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:46: Error:

/tmp/ccKds37y.s:47: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:47: Error:

/tmp/ccKds37y.s:53: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:53: Error:

/tmp/ccKds37y.s:54: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:54: Error:

/tmp/ccKds37y.s:60: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:60: Error:

/tmp/ccKds37y.s:61: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:61: Error:

/tmp/ccKds37y.s:68: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:68: Error:

/tmp/ccKds37y.s:69: Error: syntax error. Input text was Ã.

/tmp/ccKds37y.s:69: Error:

compiler exited with status 1

--

 

--

Executing on host: bfin-uclinux-gcc /home/test/work/cruise/checkouts/toolchain/gcc-4.1/gcc/testsuite/gcc.dg/ucnid-4.c   -std=c99 -fextended-identifiers -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -Wl,-elf2flt=-s80000  -lm   -o ./ucnid-4.exe    (timeout = 300)

 

/tmp/ccWvYbbe.s: Assembler messages:^M

/tmp/ccWvYbbe.s:58: Error: syntax error. Input text was Ã.^M

/tmp/ccWvYbbe.s:58: Error: ^M

/tmp/ccWvYbbe.s:63: Error: syntax error. Input text was Ã.^M

/tmp/ccWvYbbe.s:63: Error: ^M

/tmp/ccWvYbbe.s:68: Error: syntax error. Input text was Ã.^M

/tmp/ccWvYbbe.s:68: Error: ^M

/tmp/ccWvYbbe.s:73: Error: syntax error. Input text was Ã.^M

/tmp/ccWvYbbe.s:73: Error: ^M

/tmp/ccWvYbbe.s:79: Error: syntax error. Input text was Ã.^M

/tmp/ccWvYbbe.s:79: Error: ^M

compiler exited with status 1

--

 

Follow-ups

 

--- David Gibson                                             2010-07-13 04:26:42

The test fails because the assembler does not support the use of extended

characters in symbol names.

To support this we can:

a) Change the compiler to replace extended characters with other characters.

b) Make the assembler accept extended characters in symbol names.

 

Either way, it is a fairly significant enhancement, and one that nobody has yet

asked for. Propose that we defer this until there is significant demand.

 

--- Mike Frysinger                                           2010-07-13 13:57:55

(b) is the way to go.  does fixing the assembler really take that much effort ?

it should be just updating the symbol input matching ...

 

--- Robin Getz                                               2010-07-13 16:52:52

David:

 

Doing something like:

 

===================================================================

--- bfin-lex.l  (revision 4705)

+++ bfin-lex.l  (working copy)

@@ -301,7 +301,7 @@

     yylval.value = parse_int (&yytext);

     return NUMBER;

   }

-[A-Za-z_$.][A-Za-z0-9_$.]* {

+[[:alpha:]_$.][[:alnum:]_$.ÀÂÄÁсδÿ]* {

     yylval.symbol = symbol_find_or_make (yytext);

     symbol_mark_used (yylval.symbol);

     return SYMBOL;

 

will fix ucnid-3 - this isn't a proposed fix as it really doesn't solve the

issue, - the proper fix should be to determine the proper regex to accept

multibyte characters....

 

Since I said it wouldn't be hard - and Mike was sitting beside me - after

looking at the x86 - he came up with:

 

===================================================================

--- bfin-lex.l  (revision 4705)

+++ bfin-lex.l  (working copy)

@@ -301,7 +301,7 @@

     yylval.value = parse_int (&yytext);

     return NUMBER;

   }

-[A-Za-z_$.][A-Za-z0-9_$.]* {

+[[:alpha:]\x80-\xff_$.][[:alnum:]\x80-\xff_$.]* {

     yylval.symbol = symbol_find_or_make (yytext);

     symbol_mark_used (yylval.symbol);

     return SYMBOL;

 

Which seems to fix all the tests for me -- so I'll commit to trunk.

 

-Robin

 

--- Robin Getz                                               2010-07-13 16:55:37

Mark as fixed.

 

--- Robin Getz                                               2010-07-14 09:11:28

Sim tests say:

 

Tests that now work, but didn't before:

 

bfin-sim: gcc.dg/ucnid-2.c (test for excess errors)

bfin-sim: gcc.dg/ucnid-3.c (test for excess errors)

bfin-sim: gcc.dg/ucnid-4.c (test for excess errors)

 

So, I think it is OK...

 

--- Vivi Li                                                  2010-07-14 23:01:17

Yeah, it's OK now.

Close it.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes