First Last Prev Next    No search results available
Details
: [llvmgcc] type names are not emitted for structure typedefs
Bug#: 329
: tools
: llvm-gcc
Status: RESOLVED
Resolution: FIXED
: All
: All
: 1.0
: P2
: minor
: 1.3

:
: quality-of-implementation
:
:
  Show dependency tree - Show dependency graph
People
Reporter: Chris Lattner <sabre@nondot.org>
Assigned To: Unassigned LLVM Bugs <unassignedbugs@nondot.org>

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2004-04-23 14:07
The C front-end is not emitting LLVM type names for typedefs of structures. 
This is usually fine (because structs usually also have a tag), but causes us to
not emit names at all for certain structs, defined like this:

----------------------------------
typedef struct {
        double W, X, Y, Z;
} FOOTY;

void test(FOOTY* A) {}
----------------------------------

Missing the symbolic type name makes the LLVM code unreadable for some programs
like 188.ammp (and others) which have large structures defined like this.

We currently compile this testcase into:

void %test({ double, double, double, double }* %A) {
entry:
        ret void
}

Where we would like to see:

void %test(%FOOTY* %A) {
entry:
        ret void
}

-Chris
------- Comment #1 From Chris Lattner 2004-05-07 14:22:07 -------
Fixed.  Patch here:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040503/014171.html

-Chris

First Last Prev Next    No search results available