[Bug localedata/17874] New: localedef fails on ifndef-tokens and on if-statements following an if-else-statement.

jonas.bechtel at web dot de sourceware-bugzilla@sourceware.org
Sun Jan 25 13:56:00 GMT 2015


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

            Bug ID: 17874
           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: localedata
          Assignee: unassigned at sourceware dot org
          Reporter: jonas.bechtel at web dot de
                CC: libc-locales at sourceware dot org

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.



More information about the Libc-locales mailing list