Chandler Carruth | b4d179c | 2013-10-17 03:28:24 +0000 | [diff] [blame] | 1 | ! Test that Clang can forward all of the flags which are documented as |
| 2 | ! being supported by gfortran to GCC when falling back to GCC for |
| 3 | ! a fortran input file. |
| 4 | ! |
| 5 | ! RUN: %clang -no-canonical-prefixes -target i386-linux -### %s -o %t 2>&1 \ |
| 6 | ! RUN: -Aquestion=answer \ |
| 7 | ! RUN: -A-question=answer \ |
| 8 | ! RUN: -C \ |
| 9 | ! RUN: -CC \ |
| 10 | ! RUN: -Dmacro \ |
| 11 | ! RUN: -Dmacro=value \ |
| 12 | ! RUN: -H \ |
| 13 | ! RUN: -Isome/directory \ |
| 14 | ! RUN: -Jsome/other/directory \ |
| 15 | ! RUN: -P \ |
| 16 | ! RUN: -Umacro \ |
| 17 | ! RUN: -Waliasing \ |
| 18 | ! RUN: -Walign-commons \ |
| 19 | ! RUN: -Wall \ |
| 20 | ! RUN: -Wampersand \ |
| 21 | ! RUN: -Warray-bounds \ |
| 22 | ! RUN: -Wc-binding-type \ |
| 23 | ! RUN: -Wcharacter-truncation \ |
| 24 | ! RUN: -Wconversion \ |
| 25 | ! RUN: -Wfunction-elimination \ |
| 26 | ! RUN: -Wimplicit-interface \ |
| 27 | ! RUN: -Wimplicit-procedure \ |
| 28 | ! RUN: -Wintrinsic-shadow \ |
| 29 | ! RUN: -Wintrinsics-std \ |
| 30 | ! RUN: -Wline-truncation \ |
| 31 | ! RUN: -Wreal-q-constant \ |
| 32 | ! RUN: -Wrealloc-lhs \ |
| 33 | ! RUN: -Wsurprising \ |
| 34 | ! RUN: -Wtabs \ |
| 35 | ! RUN: -Wtarget-lifetime \ |
| 36 | ! RUN: -Wunderflow \ |
| 37 | ! RUN: -Wunused-parameter \ |
| 38 | ! RUN: -cpp \ |
| 39 | ! RUN: -dD \ |
| 40 | ! RUN: -dI \ |
| 41 | ! RUN: -dM \ |
| 42 | ! RUN: -dN \ |
| 43 | ! RUN: -dU \ |
| 44 | ! RUN: -faggressive-function-elimination \ |
| 45 | ! RUN: -falign-commons \ |
| 46 | ! RUN: -fall-intrinsics \ |
| 47 | ! RUN: -fautomatic \ |
| 48 | ! RUN: -fbackslash \ |
| 49 | ! RUN: -fbacktrace \ |
| 50 | ! RUN: -fblas-matmul-limit=42 \ |
| 51 | ! RUN: -fbounds-check \ |
| 52 | ! RUN: -fcheck-array-temporaries \ |
| 53 | ! RUN: -fcheck=all \ |
| 54 | ! RUN: -fcoarray=none \ |
| 55 | ! RUN: -fconvert=foobar \ |
| 56 | ! RUN: -fcray-pointer \ |
| 57 | ! RUN: -fd-lines-as-code \ |
| 58 | ! RUN: -fd-lines-as-comments \ |
| 59 | ! RUN: -fdefault-double-8 \ |
| 60 | ! RUN: -fdefault-integer-8 \ |
| 61 | ! RUN: -fdefault-real-8 \ |
| 62 | ! RUN: -fdollar-ok \ |
| 63 | ! RUN: -fdump-fortran-optimized \ |
| 64 | ! RUN: -fdump-fortran-original \ |
| 65 | ! RUN: -fdump-parse-tree \ |
| 66 | ! RUN: -fexternal-blas \ |
| 67 | ! RUN: -ff2c \ |
| 68 | ! RUN: -ffixed-form \ |
| 69 | ! RUN: -ffixed-line-length-42 \ |
| 70 | ! RUN: -ffpe-trap=list \ |
| 71 | ! RUN: -ffree-form \ |
| 72 | ! RUN: -ffree-line-length-42 \ |
| 73 | ! RUN: -ffrontend-optimize \ |
| 74 | ! RUN: -fimplicit-none \ |
| 75 | ! RUN: -finit-character=n \ |
| 76 | ! RUN: -finit-integer=n \ |
| 77 | ! RUN: -finit-local-zero \ |
| 78 | ! RUN: -finit-logical=false \ |
| 79 | ! RUN: -finit-real=zero \ |
| 80 | ! RUN: -finteger-4-integer-8 \ |
| 81 | ! RUN: -fintrinsic-modules-path \ |
| 82 | ! RUN: -fmax-array-constructor=42 \ |
| 83 | ! RUN: -fmax-errors=42 \ |
| 84 | ! RUN: -fmax-identifier-length \ |
| 85 | ! RUN: -fmax-stack-var-size=42 \ |
| 86 | ! RUN: -fmax-subrecord-length=42 \ |
| 87 | ! RUN: -fmodule-private \ |
| 88 | ! RUN: -fopenmp \ |
| 89 | ! RUN: -fpack-derived \ |
| 90 | ! RUN: -fprotect-parens \ |
| 91 | ! RUN: -frange-check \ |
| 92 | ! RUN: -freal-4-real-10 \ |
| 93 | ! RUN: -freal-4-real-16 \ |
| 94 | ! RUN: -freal-4-real-8 \ |
| 95 | ! RUN: -freal-8-real-10 \ |
| 96 | ! RUN: -freal-8-real-16 \ |
| 97 | ! RUN: -freal-8-real-4 \ |
| 98 | ! RUN: -frealloc-lhs \ |
| 99 | ! RUN: -frecord-marker=42 \ |
| 100 | ! RUN: -frecursive \ |
| 101 | ! RUN: -frepack-arrays \ |
| 102 | ! RUN: -fsecond-underscore \ |
| 103 | ! RUN: -fshort-enums \ |
| 104 | ! RUN: -fsign-zero \ |
| 105 | ! RUN: -fstack-arrays \ |
| 106 | ! RUN: -fsyntax-only \ |
| 107 | ! RUN: -funderscoring \ |
| 108 | ! RUN: -fwhole-file \ |
Chandler Carruth | b4d179c | 2013-10-17 03:28:24 +0000 | [diff] [blame] | 109 | ! RUN: -imultilib \ |
| 110 | ! RUN: -iprefix \ |
| 111 | ! RUN: -iquote \ |
| 112 | ! RUN: -isysroot \ |
| 113 | ! RUN: -isystem \ |
| 114 | ! RUN: -nocpp \ |
| 115 | ! RUN: -nostdinc \ |
| 116 | ! RUN: -pedantic \ |
| 117 | ! RUN: -pedantic-errors \ |
| 118 | ! RUN: -static-libgfortran \ |
| 119 | ! RUN: -std=f90 \ |
| 120 | ! RUN: -undef \ |
| 121 | ! RUN: | FileCheck %s |
| 122 | ! |
| 123 | ! FIXME: Several of these shouldn't necessarily be rendered separately |
| 124 | ! when passing to GCC... Hopefully their driver handles this. |
| 125 | ! |
| 126 | ! CHECK: "-Aquestion=answer" |
| 127 | ! CHECK: "-A-question=answer" |
| 128 | ! CHECK: "-C" |
| 129 | ! CHECK: "-CC" |
| 130 | ! CHECK: "-D" "macro" |
| 131 | ! CHECK: "-D" "macro=value" |
| 132 | ! CHECK: "-H" |
| 133 | ! CHECK: "-I" "some/directory" |
| 134 | ! CHECK: "-Jsome/other/directory" |
| 135 | ! CHECK: "-P" |
| 136 | ! CHECK: "-U" "macro" |
| 137 | ! CHECK: "-Waliasing" |
| 138 | ! CHECK: "-Walign-commons" |
| 139 | ! CHECK: "-Wall" |
| 140 | ! CHECK: "-Wampersand" |
| 141 | ! CHECK: "-Warray-bounds" |
| 142 | ! CHECK: "-Wc-binding-type" |
| 143 | ! CHECK: "-Wcharacter-truncation" |
| 144 | ! CHECK: "-Wconversion" |
| 145 | ! CHECK: "-Wfunction-elimination" |
| 146 | ! CHECK: "-Wimplicit-interface" |
| 147 | ! CHECK: "-Wimplicit-procedure" |
| 148 | ! CHECK: "-Wintrinsic-shadow" |
| 149 | ! CHECK: "-Wintrinsics-std" |
| 150 | ! CHECK: "-Wline-truncation" |
| 151 | ! CHECK: "-Wreal-q-constant" |
| 152 | ! CHECK: "-Wrealloc-lhs" |
| 153 | ! CHECK: "-Wsurprising" |
| 154 | ! CHECK: "-Wtabs" |
| 155 | ! CHECK: "-Wtarget-lifetime" |
| 156 | ! CHECK: "-Wunderflow" |
| 157 | ! CHECK: "-Wunused-parameter" |
| 158 | ! CHECK: "-cpp" |
| 159 | ! CHECK: "-dD" |
| 160 | ! CHECK: "-dI" |
| 161 | ! CHECK: "-dM" |
| 162 | ! CHECK: "-dN" |
| 163 | ! CHECK: "-dU" |
| 164 | ! CHECK: "-faggressive-function-elimination" |
| 165 | ! CHECK: "-falign-commons" |
| 166 | ! CHECK: "-fall-intrinsics" |
| 167 | ! CHECK: "-fautomatic" |
| 168 | ! CHECK: "-fbackslash" |
| 169 | ! CHECK: "-fbacktrace" |
| 170 | ! CHECK: "-fblas-matmul-limit=42" |
| 171 | ! CHECK: "-fbounds-check" |
| 172 | ! CHECK: "-fcheck-array-temporaries" |
| 173 | ! CHECK: "-fcheck=all" |
| 174 | ! CHECK: "-fcoarray=none" |
| 175 | ! CHECK: "-fconvert=foobar" |
| 176 | ! CHECK: "-fcray-pointer" |
| 177 | ! CHECK: "-fd-lines-as-code" |
| 178 | ! CHECK: "-fd-lines-as-comments" |
| 179 | ! CHECK: "-fdefault-double-8" |
| 180 | ! CHECK: "-fdefault-integer-8" |
| 181 | ! CHECK: "-fdefault-real-8" |
| 182 | ! CHECK: "-fdollar-ok" |
| 183 | ! CHECK: "-fdump-fortran-optimized" |
| 184 | ! CHECK: "-fdump-fortran-original" |
| 185 | ! CHECK: "-fdump-parse-tree" |
| 186 | ! CHECK: "-fexternal-blas" |
| 187 | ! CHECK: "-ff2c" |
| 188 | ! CHECK: "-ffixed-form" |
| 189 | ! CHECK: "-ffixed-line-length-42" |
| 190 | ! CHECK: "-ffpe-trap=list" |
| 191 | ! CHECK: "-ffree-form" |
| 192 | ! CHECK: "-ffree-line-length-42" |
| 193 | ! CHECK: "-ffrontend-optimize" |
| 194 | ! CHECK: "-fimplicit-none" |
| 195 | ! CHECK: "-finit-character=n" |
| 196 | ! CHECK: "-finit-integer=n" |
| 197 | ! CHECK: "-finit-local-zero" |
| 198 | ! CHECK: "-finit-logical=false" |
| 199 | ! CHECK: "-finit-real=zero" |
| 200 | ! CHECK: "-finteger-4-integer-8" |
| 201 | ! CHECK: "-fintrinsic-modules-path" |
| 202 | ! CHECK: "-fmax-array-constructor=42" |
| 203 | ! CHECK: "-fmax-errors=42" |
| 204 | ! CHECK: "-fmax-identifier-length" |
| 205 | ! CHECK: "-fmax-stack-var-size=42" |
| 206 | ! CHECK: "-fmax-subrecord-length=42" |
| 207 | ! CHECK: "-fmodule-private" |
| 208 | ! CHECK: "-fopenmp" |
| 209 | ! CHECK: "-fpack-derived" |
| 210 | ! CHECK: "-fprotect-parens" |
| 211 | ! CHECK: "-frange-check" |
| 212 | ! CHECK: "-freal-4-real-10" |
| 213 | ! CHECK: "-freal-4-real-16" |
| 214 | ! CHECK: "-freal-4-real-8" |
| 215 | ! CHECK: "-freal-8-real-10" |
| 216 | ! CHECK: "-freal-8-real-16" |
| 217 | ! CHECK: "-freal-8-real-4" |
| 218 | ! CHECK: "-frealloc-lhs" |
| 219 | ! CHECK: "-frecord-marker=42" |
| 220 | ! CHECK: "-frecursive" |
| 221 | ! CHECK: "-frepack-arrays" |
| 222 | ! CHECK: "-fsecond-underscore" |
| 223 | ! CHECK: "-fshort-enums" |
| 224 | ! CHECK: "-fsign-zero" |
| 225 | ! CHECK: "-fstack-arrays" |
| 226 | ! CHECK: "-funderscoring" |
| 227 | ! CHECK: "-fwhole-file" |
Chandler Carruth | b4d179c | 2013-10-17 03:28:24 +0000 | [diff] [blame] | 228 | ! CHECK: "-imultilib" |
| 229 | ! CHECK: "-iprefix" |
| 230 | ! CHECK: "-iquote" |
| 231 | ! CHECK: "-isysroot" |
| 232 | ! CHECK: "-isystem" |
| 233 | ! CHECK: "-nocpp" |
| 234 | ! CHECK: "-nostdinc" |
| 235 | ! CHECK: "-pedantic" |
| 236 | ! CHECK: "-pedantic-errors" |
| 237 | ! CHECK: "-static-libgfortran" |
| 238 | ! CHECK: "-std=f90" |
| 239 | ! CHECK: "-undef" |
| 240 | ! |
| 241 | ! Clang understands this one and orders it weirdly. |
| 242 | ! CHECK: "-fsyntax-only" |
Eric Christopher | cc7ff50 | 2015-01-29 00:56:17 +0000 | [diff] [blame] | 243 | ! |
| 244 | ! PR22234: Ensure that -fsyntax-only doesn't complain about output types and |
| 245 | ! passes along correctly. |
| 246 | ! RUN: %clang -no-canonical-prefixes -target i386-linux -fsyntax-only -### %s -o %t 2>&1 | \ |
| 247 | ! grep for error message and command-line |
| 248 | ! RUN: grep -e error: -e -fsyntax-only | FileCheck %s --check-prefix=CHECK-PR22234 |
| 249 | ! |
| 250 | ! CHECK-PR22234-NOT: clang: error: invalid output type |
| 251 | ! CHECK-PR22234: "-fsyntax-only" |
Eric Christopher | 58c2199 | 2015-01-30 18:22:23 +0000 | [diff] [blame] | 252 | ! |
| 253 | ! Regression test for the bug introduced with PR22234 fix. |
| 254 | ! Make sure -fsyntax-only is not passed to gfortran during normal compilation. |
| 255 | ! |
| 256 | ! RUN: %clang -no-canonical-prefixes -target i386-linux -### %s -o %t 2>&1 \ |
| 257 | ! RUN: | FileCheck %s --check-prefix=CHECK-PR22234-R |
| 258 | ! CHECK-PR22234-R-NOT: "-fsyntax-only" |