Ticket #2968 (new task)
add test for C trigraphs
| Reported by: | duncan | Owned by: | kchugalinskiy |
|---|---|---|---|
| Priority: | lowest | Milestone: | 7.6.2 |
| Component: | Compiler | Version: | 6.10.1 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | None/Unknown | Difficulty: | Unknown |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
main = print "??)"
If we compile the above -fvia-C then some gcc versions report:
/tmp/ghc6084_0/ghc6084_0.hc:99:30:
warning: trigraph ??) ignored, use -trigraphs to enable
This should make us nervous.
According to the GCC manual if we were ever to use -std=c89 or any of the official C standard compliance modes (ie non-GNU) then we would get standard C (cpp) trigraph behavior.
We should therefore add a codeGen/should_run test to make sure that the above program does always print "??)" and never "]". This test only needs to be run for the -fvia-C 'ways', optc etc.
It's not an immediate priority but it may trip someone up in future when porting or if we make unregisterised C code more standards compliant and start using one of the official -std= modes. It is unlikely to hit us but if it ever did it'd be a real pain to debug.
