From 59b8dabbd0ab8fa601bd191e1ff8005310c8adc7 Mon Sep 17 00:00:00 2001 From: Reshabh Sharma <60782296+rksharma-yymd@users.noreply.github.com> Date: Tue, 17 Mar 2020 14:02:14 +0530 Subject: [PATCH] Output file name should not change flags picked for compiler (#1938) Fixes SWDEV-207362, The output file name should not contribute to picking up the right flags for the compiler. This fix solves issues when the output has conflicting extensions which confuses hipcc to treat them as the source files and add the required flags for them. PS: Output file refers to the file followed by -o Example: hipcc test.o -o test.hip will add the flags for .hip compilation ignoring the fact that it is an output file --- hipamd/bin/hipcc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hipamd/bin/hipcc b/hipamd/bin/hipcc index 26ea4114eb..929fe1cd71 100755 --- a/hipamd/bin/hipcc +++ b/hipamd/bin/hipcc @@ -375,6 +375,7 @@ my $toolArgs = ""; # arguments to pass to the hcc or nvcc tool my $optArg = ""; # -O args my $targetOpt = '--amdgpu-target='; my $targetsStr = ""; +my $skipOutputFile = 0; # file followed by -o should not contibute in picking compiler flags foreach $arg (@ARGV) { @@ -386,8 +387,16 @@ foreach $arg (@ARGV) $needCXXFLAGS = 1; $needLDFLAGS = 0; } + + if ($skipOutputFile) { + $toolArgs .= " $arg"; + $skipOutputFile = 0; + next; + } + if ($arg eq '-o') { $needLDFLAGS = 1; + $skipOutputFile = 1; } if(($trimarg eq '-stdlib=libc++') and ($setStdLib eq 0))