Issue Details (XML | Word | Printable)

Key: PCC-373
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Anders Magnusson
Reporter: Jonathan Gray
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.

long double complex vs long double

Created: 30/Jul/11 10:11 PM   Updated: 31/Jul/11 09:39 AM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Environment: OpenBSD/i386 -current, pcc cvs

 Description  « Hide
/usr/local/bin/pcc -O2 -pipe -g -I/usr/src/lib/libm/src -I/usr/src/lib/libm/src/ld80 -c /usr/src/lib/libm/src/s_casinl.c -o s_casinl.o
/usr/src/lib/libm/src/s_casinl.c, line 106: operands of *= have incompatible types
/usr/src/lib/libm/src/s_casinl.c, line 107: operands of += have incompatible types

This works fine with at least gcc 4.2.1 and clang svn. Went back a few months in pcc cvs
history and the problem still occurs so it does not appear to be caused by recent changes.

smaller test case:

#include <complex.h>
        long double complex ct = 1;
        long double b = 0.5;

        ct *= b;

        return (0);

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Anders Magnusson made changes - 30/Jul/11 10:16 PM
Field Original Value New Value
Assignee Anders Magnusson [ ragge ]
Anders Magnusson made changes - 31/Jul/11 09:39 AM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]