[GHC] #13666: The fake gcc can't handle trailing backslashes

#13666: The fake gcc can't handle trailing backslashes ----------------------------------------+--------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: new Priority: low | Milestone: Component: Driver | Version: 8.0.1 Keywords: | Operating System: Windows Architecture: Unknown/Multiple | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: ----------------------------------------+--------------------------------- The fake gcc will choke on trailing backslashes in arguments, like -Iinclude\ or -Llibs\. `realgcc` handles them fine. It seems to insert as spurious quote or terminating a quote too early. Error message: {{{ .\test-ghc.c:1:20: fatal error: test-inc"/header.h: Invalid argument compilation terminated. }}} Found here: [https://github.com/idris-lang/Idris-dev/issues/3801] -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The fake gcc can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: new Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Description changed by niklasl: @@ -2,2 +2,2 @@ - -Iinclude\ or -Llibs\. `realgcc` handles them fine. It seems to insert as - spurious quote or terminating a quote too early. + `-Iinclude\` or `-Llibs\`. `realgcc` handles them fine. It seems to insert + as spurious quote or terminating a quote too early. New description: The fake gcc will choke on trailing backslashes in arguments, like `-Iinclude\` or `-Llibs\`. `realgcc` handles them fine. It seems to insert as spurious quote or terminating a quote too early. Error message: {{{ .\test-ghc.c:1:20: fatal error: test-inc"/header.h: Invalid argument compilation terminated. }}} Found here: [https://github.com/idris-lang/Idris-dev/issues/3801] -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The fake gcc can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: new Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by bgamari): "Fake gcc" here means ghc invoked on a C source file. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The fake gcc can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: new Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by niklasl): I meant the gcc wrapper in `driver/gcc`. I just didn't find a good word for it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: new Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Description changed by niklasl: @@ -1,1 +1,1 @@ - The fake gcc will choke on trailing backslashes in arguments, like + The gcc wrapper will choke on trailing backslashes in arguments, like New description: The gcc wrapper will choke on trailing backslashes in arguments, like `-Iinclude\` or `-Llibs\`. `realgcc` handles them fine. It seems to insert as spurious quote or terminating a quote too early. Error message: {{{ .\test-ghc.c:1:20: fatal error: test-inc"/header.h: Invalid argument compilation terminated. }}} Found here: [https://github.com/idris-lang/Idris-dev/issues/3801] -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: new Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by niklasl): * Attachment "0001-Handle-trailing-backslashes-in-gcc-wrapper.patch" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by niklasl): * status: new => patch Comment: Added a patch. The trailing backslash escapes the quote, so it needs to be escaped. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by niklasl): * Attachment "0001-Handle-trailing-backslashes-in-gcc-wrapper.2.patch" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by niklasl): * Attachment "0001-Handle-trailing-backslashes-in-gcc-wrapper.patch" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by niklasl): * Attachment "0001-Handle-trailing-backslashes-in-gcc-wrapper.patch" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by niklasl): * Attachment "0001-Handle-trailing-backslashes-in-gcc-wrapper.2.patch" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by bgamari): Should we disregard one of these? They look identical. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by niklasl): Yes, they're the same patch. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by Phyx-): Unless I'm misunderstanding, is it not sufficient to add `|| *src == '\\'` to line 62? https://github.com/ghc/ghc/blob/master/driver/utils/cwrapper.c#L62, that would be logically more consistent because it means you're adding a character to the list of characters that need escaping. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #13709 | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by Phyx-): * related: => #13709 Comment: Also I'm dropping the driver all together (see #13709), but this change would still be useful as this file is used for other things. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: patch Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #13709 | Differential Rev(s): Phab:D3628 Wiki Page: | ---------------------------------+---------------------------------------- Changes (by Phyx-): * differential: => Phab:D3628 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13666: The gcc wrapper can't handle trailing backslashes
---------------------------------+----------------------------------------
Reporter: niklasl | Owner: (none)
Type: bug | Status: patch
Priority: low | Milestone:
Component: Driver | Version: 8.0.1
Resolution: | Keywords:
Operating System: Windows | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #13709 | Differential Rev(s): Phab:D3628
Wiki Page: |
---------------------------------+----------------------------------------
Comment (by Tamar Christina

#13666: The gcc wrapper can't handle trailing backslashes ---------------------------------+---------------------------------------- Reporter: niklasl | Owner: (none) Type: bug | Status: closed Priority: low | Milestone: Component: Driver | Version: 8.0.1 Resolution: fixed | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #13709 | Differential Rev(s): Phab:D3628 Wiki Page: | ---------------------------------+---------------------------------------- Changes (by Phyx-): * status: patch => closed * resolution: => fixed -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13666#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC