public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/17875] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement.
@ 2015-01-25 13:31 jonas.bechtel at web dot de
  2015-01-25 13:33 ` [Bug libc/17875] " jonas.bechtel at web dot de
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: jonas.bechtel at web dot de @ 2015-01-25 13:31 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=17875

            Bug ID: 17875
           Summary: localedef fails on ifndef-tokens and on if-statements
                    following an if-else-statement.
           Product: glibc
           Version: 2.20
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: jonas.bechtel at web dot de
                CC: drepper.fsp at gmail dot com

Remark: The actual binary I tested is a glibc 2.15 binary of my distribution,
but i've seen the error (at least the first one) in the 2.20 source, too.

Error 1: ifndef isn't recognized in LC_COLLATE sections of locale source file.
The reason is that it's missing in locfile-kw.gperf file.

Error 2: I get a warning about nested if conditions. But the source files
aren't nested.


Following construction exits with error:
ifdef ABC
...
else
...
endif
...
ifdef DEF
...
else
...
endif

Following construction compiles fine:
ifdef ABC
...
endif
ifdef ABCX
...
endif
...
ifdef DEF
...
else
...
endif



I don't have the time to determine the location of the bug, but I suggest to do
collate->else_action = else_none
in ld-collate.c when tok_endif is reached. [Maybe that would break nested
if-clauses if activated in future, and maybe this bug doesn't exist in 2.20 any
more, even though I don't see a difference to the ld-collate.c file in this
respect]

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/17875] localedef fails on ifndef-tokens and on if-statements following an if-else-statement.
  2015-01-25 13:31 [Bug libc/17875] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement jonas.bechtel at web dot de
@ 2015-01-25 13:33 ` jonas.bechtel at web dot de
  2015-01-25 14:50 ` jonas.bechtel at web dot de
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: jonas.bechtel at web dot de @ 2015-01-25 13:33 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=17875

--- Comment #1 from Jonas Bechtel <jonas.bechtel at web dot de> ---
Hint: The second error fails at the line of the second if statement

ifdef ABC
...
else
...
endif
...
ifdef DEF  <==== ERROR about nested if clauses
...
else
...
endif

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/17875] localedef fails on ifndef-tokens and on if-statements following an if-else-statement.
  2015-01-25 13:31 [Bug libc/17875] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement jonas.bechtel at web dot de
  2015-01-25 13:33 ` [Bug libc/17875] " jonas.bechtel at web dot de
@ 2015-01-25 14:50 ` jonas.bechtel at web dot de
  2015-01-28 11:45 ` schwab@linux-m68k.org
  2015-08-27 22:25 ` [Bug locale/17875] " jsm28 at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jonas.bechtel at web dot de @ 2015-01-25 14:50 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=17875

--- Comment #2 from Jonas Bechtel <jonas.bechtel at web dot de> ---

FYI. It's dependend on whether the first if branch was taken.



bechtel@desktop:~/tmp/loc> cat iso14651_t1_common; echo ======; LANG=C
localedef -i iso14651_t1_common --force ~/tmp/loc/out/ 2>&1 | grep -v "No def"
LC_COLLATE

order_start forward
define BCno
ifdef BC
<U0062> # b
<U0063> # c
else
<U0063> # c
<U0062> # b
endif

define DIACRIT_FORWARD
ifdef DIACRIT_FORWARD
<U0061> # a
else
<U0064> # d
endif

order_end
END LC_COLLATE
======
bechtel@desktop:~/tmp/loc> vim iso14651_t1_common
bechtel@desktop:~/tmp/loc> cat iso14651_t1_common; echo ======; LANG=C
localedef -i iso14651_t1_common --force ~/tmp/loc/out/ 2>&1 | grep -v "No def"
LC_COLLATE
order_start forward

define BC
ifdef BC
<U0062> # b
<U0063> # c
else
<U0063> # c
<U0062> # b
endif

define DIACRIT_FORWARD
ifdef DIACRIT_FORWARD
<U0061> # a
else
<U0064> # d
endif

order_end
END LC_COLLATE
======
iso14651_t1_common:14: LC_COLLATE: nested conditionals not supported
iso14651_t1_common:16: LC_COLLATE: more then one 'else'
bechtel@desktop:~/tmp/loc>

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/17875] localedef fails on ifndef-tokens and on if-statements following an if-else-statement.
  2015-01-25 13:31 [Bug libc/17875] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement jonas.bechtel at web dot de
  2015-01-25 13:33 ` [Bug libc/17875] " jonas.bechtel at web dot de
  2015-01-25 14:50 ` jonas.bechtel at web dot de
@ 2015-01-28 11:45 ` schwab@linux-m68k.org
  2015-08-27 22:25 ` [Bug locale/17875] " jsm28 at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: schwab@linux-m68k.org @ 2015-01-28 11:45 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=17875

--- Comment #3 from Andreas Schwab <schwab@linux-m68k.org> ---
*** Bug 17874 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug locale/17875] localedef fails on ifndef-tokens and on if-statements following an if-else-statement.
  2015-01-25 13:31 [Bug libc/17875] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement jonas.bechtel at web dot de
                   ` (2 preceding siblings ...)
  2015-01-28 11:45 ` schwab@linux-m68k.org
@ 2015-08-27 22:25 ` jsm28 at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2015-08-27 22:25 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=17875

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|libc                        |locale

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-08-27 22:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-25 13:31 [Bug libc/17875] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement jonas.bechtel at web dot de
2015-01-25 13:33 ` [Bug libc/17875] " jonas.bechtel at web dot de
2015-01-25 14:50 ` jonas.bechtel at web dot de
2015-01-28 11:45 ` schwab@linux-m68k.org
2015-08-27 22:25 ` [Bug locale/17875] " jsm28 at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).