Opened 5 months ago

Closed 4 weeks ago

#15662 closed bug (fixed)

Line pragmas appear to be slightly broken with Clang's CPP

Reported by: bgamari Owned by:
Priority: normal Milestone: 8.10.1
Component: Compiler Version: 8.4.3
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


Two tests fail on OS X due to CPP irregularities,

7	--- /var/folders/3y/qjvrbynj45j_z4jt_l1k1qg00000gv/T/ghctest-jb4vg3rr/test   spaces/parser/should_fail/	2018-09-18 09:07:49.000000000 +0300
8	+++ /var/folders/3y/qjvrbynj45j_z4jt_l1k1qg00000gv/T/ghctest-jb4vg3rr/test   spaces/parser/should_fail/	2018-09-18 09:07:49.000000000 +0300
9	@@ -1,5 +1,5 @@
11	-readFail032.hs:25:38:
12	+readFail032.hs:26:38:
13	      Couldn't match type ‘Char’ with ‘[Char]’
14	       Expected type: [[Char]]
15	         Actual type: [Char]
16	--- /var/folders/3y/qjvrbynj45j_z4jt_l1k1qg00000gv/T/ghctest-jb4vg3rr/test   spaces/parser/should_fail/	2018-09-18 09:07:50.000000000 +0300
17	+++ /var/folders/3y/qjvrbynj45j_z4jt_l1k1qg00000gv/T/ghctest-jb4vg3rr/test   spaces/parser/should_fail/	2018-09-18 09:07:50.000000000 +0300
18	@@ -1,5 +1,5 @@
20	-readFail048.hs:25:38:
21	+readFail048.hs:26:38:
22	      Couldn't match type ‘Char’ with ‘[Char]’
23	       Expected type: [[Char]]
24	         Actual type: [Char]

This appears to be a CPP bug.

Change History (4)

comment:1 Changed 2 months ago by bgamari

This appears to be fixed in Xcode 10.1 and macOS 10.14.2. It's not entirely clear how we should handle the broken annotation now.

comment:2 Changed 2 months ago by Ben Gamari <ben@…>

In 7e1d214/ghc:

testsuite: Remove expect_broken on readFail032 and readFail048

As noted in #15662, these used to be broken on Darwin due to a Clang toolchain
bug. However, this bug appears to be fixed in the Clang shipped with macOS
Mojave. Unfortunately, we don't really have any way to only mark it as broken on
certain operation system releases so I am just removing the expect_broken

comment:3 Changed 8 weeks ago by osa1


Bumping milestones of low-priority tickets.

comment:4 Changed 4 weeks ago by bgamari

Resolution: fixed
Status: newclosed

For the record comment:2 removes the broken expectation from the relevant tests. However, this does mean that these tests will break on pre-Mojave clangs. To fix this we would need to add version probing logic to the testsuite which seems like a lot of work for this corner case. Closing.

Note: See TracTickets for help on using tickets.