Re: [GHC] #2968: Avoid generating C trigraphs (was: add test for C trigraphs)

#2968: Avoid generating C trigraphs -------------------------------------+------------------------------------- Reporter: duncan | Owner: kchugalinskiy Type: task | Status: new Priority: lowest | Milestone: 7.10.1 Component: Compiler | Version: 6.10.1 Resolution: | Keywords: unregisterised Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by thomie): * keywords: => unregisterised Old 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.
New description: {{{ main = print "??)" }}} If we compile the above with an `unregisterised` ghc 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 in `unregisterised` mode. 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. Edit: replaced `-fvia-c` by [wiki:Building/Unregisterised unregisterised] (see 392b7e2a34d26b01ca65648eb5b4a078b0a64e69). -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/2968#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC