This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]