Changeset ec5d599
- Timestamp:
- Dec 5, 2020, 8:48:42 AM (2 years ago)
- Branches:
- arm-eh, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- e91a255
- Parents:
- 7c1144b (diff), ad915e0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 4 added
- 6 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/Distribute
r7c1144b rec5d599 26 26 wrap([$class: 'TimestamperBuildWrapper']) { 27 27 28 final commit = prepare_build() 28 final commit, build 29 (commit, build) = prepare_build() 29 30 30 31 node('x64') { … … 35 36 36 37 Tools.Checkout( commit ) 38 39 final version = GetVersion( build ) 37 40 } 38 41 … … 74 77 // Main compilation routines 75 78 //=========================================================================================================== 79 def GetVersion(build) { 80 final pver = sh( 81 returnStdout: true, 82 script: "sed 's/AC_INIT(\\[cfa-cc\\],\\[\\(.*\\)\\],\\[cforall@plg.uwaterloo.ca\\])/\\1/;t;d' ${SrcDir}/configure.ac" 83 ).trim() 76 84 85 final version = "${pver}.${build}" 77 86 78 //Compilation script is done here but environnement set-up and error handling is done in main loop 79 // def checkout() { 80 // build_stage('Checkout', true) { 81 // //checkout the source code and clean the repo 82 // final scmVars = checkout scm 83 // Settings.GitNewRef = scmVars.GIT_COMMIT 84 // Settings.GitOldRef = scmVars.GIT_PREVIOUS_COMMIT 87 echo "Package Version: ${pver}" 88 echo "Build Version: ${build}" 89 echo "Long Version: ${version}" 85 90 86 // echo GitLogMessage() 87 //}88 // } 91 return version 92 } 93 89 94 90 95 //=========================================================================================================== … … 107 112 defaultValue: '', \ 108 113 ], \ 114 [$class: 'StringParameterDefinition', \ 115 description: 'Build Number to put into the version', \ 116 name: 'Build', \ 117 defaultValue: '0', \ 118 ], \ 109 119 ], 110 120 ]]) … … 121 131 echo "Distributing git commit ${ref}" 122 132 123 return params.GitRef133 return [params.GitRef, params.Build] 124 134 } 125 135 -
Jenkins/tools.groovy
r7c1144b rec5d599 37 37 //checkout the source code and clean the repo 38 38 if(commitHash) { 39 final scmVars = checkout([$class: 'GitSCM', branches: [[name: commitHash ]]]) 39 echo "Checking out commit <${commitHash}>" 40 final scmVars = checkout([$class: 'GitSCM', branches: [[name: commitHash ]], 41 userRemoteConfigs: [[ 42 url: 'cforall@plg.uwaterloo.ca:software/cfa/cfa-cc', 43 credentialsId: 'git_key_aug20']] 44 ]) 40 45 echo GitLogMessage(scmVars.GIT_COMMIT, scmVars.GIT_PREVIOUS_COMMIT) 41 46 } else { 42 43 47 final scmVars = checkout scm 44 48 echo GitLogMessage(scmVars.GIT_COMMIT, scmVars.GIT_PREVIOUS_COMMIT) … … 61 65 } 62 66 63 def GitLogMessage(String oldRef, String newRef) { 67 PrevGitOldRef = '' 68 PrevGitNewRef = '' 69 def GitLogMessage(String oldRef = '', String newRef = '') { 70 if (!oldRef) { if(!PrevGitOldRef) { return "\nERROR retrieveing current git information!\n" } else { oldRef = PrevGitOldRef } } 71 if (!newRef) { if(!PrevGitNewRef) { return "\nERROR retrieveing previous git information!\n" } else { newRef = PrevGitNewRef } } 72 64 73 def revText = sh(returnStdout: true, script: "git rev-list ${oldRef}..${newRef}").trim() 65 74 def revList = SplitLines( revText ) … … 81 90 gitDiff = gitDiff.replace('[31m', '<span style="color: #AA0000;">') 82 91 gitDiff = gitDiff.replace('[m', '</span>') 92 93 PrevGitOldRef = oldRef 94 PrevGitNewRef = newRef 83 95 84 96 return """ -
Jenkinsfile
r7c1144b rec5d599 30 30 SrcDir = pwd tmp: false 31 31 32 clean()33 34 checkout()32 Tools.Clean() 33 34 Tools.Checkout() 35 35 36 36 build() … … 81 81 // Main compilation routines 82 82 //=========================================================================================================== 83 def clean() {84 Tools.BuildStage('Cleanup', true) {85 // clean the build by wipping the build directory86 dir(BuildDir) {87 deleteDir()88 }89 }90 }91 92 //Compilation script is done here but environnement set-up and error handling is done in main loop93 def checkout() {94 Tools.BuildStage('Checkout', true) {95 //checkout the source code and clean the repo96 final scmVars = checkout scm97 Settings.GitNewRef = scmVars.GIT_COMMIT98 Settings.GitOldRef = scmVars.GIT_PREVIOUS_COMMIT99 100 echo GitLogMessage()101 }102 }103 104 83 def build() { 105 84 debug = true … … 236 215 //Routine responsible of sending the email notification once the build is completed 237 216 //=========================================================================================================== 238 @NonCPS239 def SplitLines(String text) {240 def list = []241 242 text.eachLine {243 list += it244 }245 246 return list247 }248 249 def GitLogMessage() {250 if (!Settings || !Settings.GitOldRef || !Settings.GitNewRef) return "\nERROR retrieveing git information!\n"251 252 def oldRef = Settings.GitOldRef253 def newRef = Settings.GitNewRef254 255 def revText = sh(returnStdout: true, script: "git rev-list ${oldRef}..${newRef}").trim()256 def revList = SplitLines( revText )257 258 def gitUpdate = ""259 revList.each { rev ->260 def type = sh(returnStdout: true, script: "git cat-file -t ${rev}").trim()261 gitUpdate = gitUpdate + " via ${rev} (${type})"262 }263 264 def rev = oldRef265 def type = sh(returnStdout: true, script: "git cat-file -t ${rev}").trim()266 gitUpdate = gitUpdate + " from ${rev} (${type})"267 268 def gitLog = sh(returnStdout: true, script: "git rev-list --format=short ${oldRef}...${newRef}").trim()269 270 def gitDiff = sh(returnStdout: true, script: "git diff --stat --color ${newRef} ${oldRef}").trim()271 gitDiff = gitDiff.replace('[32m', '<span style="color: #00AA00;">')272 gitDiff = gitDiff.replace('[31m', '<span style="color: #AA0000;">')273 gitDiff = gitDiff.replace('[m', '</span>')274 275 return """276 <pre>277 The branch ${env.BRANCH_NAME} has been updated.278 ${gitUpdate}279 </pre>280 281 <p>Check console output at ${env.BUILD_URL} to view the results.</p>282 283 <p>- Status --------------------------------------------------------------</p>284 285 <p>BUILD# ${env.BUILD_NUMBER} - ${currentBuild.result}</p>286 287 <p>- Log -----------------------------------------------------------------</p>288 289 <pre>290 ${gitLog}291 </pre>292 293 <p>-----------------------------------------------------------------------</p>294 <pre>295 Summary of changes:296 ${gitDiff}297 </pre>298 """299 }300 301 217 //Standard build email notification 302 218 def email(boolean log) { … … 310 226 generated because of a git hooks/post-receive script following 311 227 a ref change which was pushed to the C\u2200 repository.</p> 312 """ + GitLogMessage()228 """ + Tools.GitLogMessage() 313 229 314 230 def email_to = !Settings.IsSandbox ? "cforall@lists.uwaterloo.ca" : "tdelisle@uwaterloo.ca" … … 420 336 this.DescShort = "${ this.Compiler.name }:${ this.Architecture.name }${full}" 421 337 338 final ast = this.NewAST ? "New AST" : "Old AST" 422 339 this.DescLong = """Compiler : ${ this.Compiler.name } (${ this.Compiler.CXX }/${ this.Compiler.CC }) 340 AST Version : ${ ast.toString() } 423 341 Architecture : ${ this.Architecture.name } 424 342 Arc Flags : ${ this.Architecture.flags } … … 473 391 description: 'If true, build compiler using new AST', \ 474 392 name: 'NewAST', \ 475 defaultValue: false, \393 defaultValue: true, \ 476 394 ], \ 477 395 [$class: 'BooleanParameterDefinition', \ … … 479 397 name: 'RunAllTests', \ 480 398 defaultValue: false, \ 481 ], 399 ], \ 482 400 [$class: 'BooleanParameterDefinition', \ 483 401 description: 'If true, jenkins also runs benchmarks', \ -
tests/.expect/manipulatorsOutput2.arm64.txt
r7c1144b rec5d599 1 1 2 2 0b0 0b11011 0b11011 0b11011 0b11011 3 0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b111111111111111111111111111 001013 0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b1111111111111111111111111111111111111111111111111111111111100101 4 4 0 033 033 033 033 5 0345 0177745 037777777745 0 377777777455 0345 0177745 037777777745 01777777777777777777745 6 6 0 0x1b 0x1b 0x1b 0x1b 7 0xe5 0xffe5 0xffffffe5 0xffffff e58 0x0p+0. 0x1.b8p+4 0x1.b8p+4 0x d.cp+19 -0x1.b8p+4 -0x1.b8p+4 -0x d.cp+17 0xe5 0xffe5 0xffffffe5 0xffffffffffffffe5 8 0x0p+0. 0x1.b8p+4 0x1.b8p+4 0x1.b8p+4 9 -0x1.b8p+4 -0x1.b8p+4 -0x1.b8p+4 10 10 0.000000e+00 2.750000e+01 -2.750000e+01 11 11 0B11011 0X1B 2.75E-09 0X1.B8P+4 -
tests/errors/.expect/completeType.oast.x86.txt
r7c1144b rec5d599 6 6 Name: x 7 7 8 ... to: nothing Alternatives are: 8 ... to: nothing 9 with resolved type: 10 void Alternatives are: 9 11 Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of: 10 12 Application of … … 20 22 21 23 24 with resolved type: 25 pointer to forall 26 [unbound]:data type 27 function 28 ... with parameters 29 intrinsic pointer to instance of type [unbound] (not function type) 30 ... returning 31 _retval__operator_deref: reference to instance of type [unbound] (not function type) 32 ... with attributes: 33 Attribute with name: unused 34 35 22 36 ... to arguments 23 37 Variable Expression: x: pointer to instance of struct A with body 0 24 38 with resolved type: 39 pointer to instance of struct A with body 0 40 41 with resolved type: 42 reference to instance of struct A with body 0 25 43 ... to: nothing 44 with resolved type: 45 void 26 46 (types: 27 47 void 28 48 ) 29 Environment: -> instance of struct A with body 0 (no widening)49 Environment:([unbound]) -> instance of struct A with body 0 (no widening) 30 50 31 51 … … 43 63 44 64 65 with resolved type: 66 pointer to forall 67 [unbound]:data type 68 function 69 ... with parameters 70 intrinsic pointer to instance of type [unbound] (not function type) 71 ... returning 72 _retval__operator_deref: reference to instance of type [unbound] (not function type) 73 ... with attributes: 74 Attribute with name: unused 75 76 45 77 ... to arguments 46 78 Variable Expression: x: pointer to instance of struct B with body 1 47 79 with resolved type: 80 pointer to instance of struct B with body 1 81 82 with resolved type: 83 reference to instance of struct B with body 1 48 84 ... to: nothing 85 with resolved type: 86 void 49 87 (types: 50 88 void 51 89 ) 52 Environment: -> instance of struct B with body 1 (no widening)90 Environment:([unbound]) -> instance of struct B with body 1 (no widening) 53 91 54 92 … … 121 159 ... returning nothing 122 160 161 with resolved type: 162 pointer to forall 163 [unbound]:sized data type 164 ... with assertions 165 ?=?: pointer to function 166 ... with parameters 167 reference to instance of type [unbound] (not function type) 168 instance of type [unbound] (not function type) 169 ... returning 170 _retval__operator_assign: instance of type [unbound] (not function type) 171 ... with attributes: 172 Attribute with name: unused 173 174 175 ?{}: pointer to function 176 ... with parameters 177 reference to instance of type [unbound] (not function type) 178 ... returning nothing 179 180 ?{}: pointer to function 181 ... with parameters 182 reference to instance of type [unbound] (not function type) 183 instance of type [unbound] (not function type) 184 ... returning nothing 185 186 ^?{}: pointer to function 187 ... with parameters 188 reference to instance of type [unbound] (not function type) 189 ... returning nothing 190 191 192 function 193 ... with parameters 194 pointer to instance of type [unbound] (not function type) 195 ... returning nothing 196 123 197 ... to arguments 124 198 Variable Expression: z: pointer to instance of type T (not function type) 125 199 with resolved type: 200 pointer to instance of type T (not function type) 201 202 with resolved type: 203 void 126 204 (types: 127 205 void 128 206 ) 129 Environment: -> instance of type T (not function type) (no widening)207 Environment:([unbound]) -> instance of type T (not function type) (no widening) 130 208 131 209 Could not satisfy assertion: 132 210 ?=?: pointer to function 133 211 ... with parameters 134 reference to instance of type _109_0_T(not function type)135 instance of type _109_0_T(not function type)212 reference to instance of type [unbound] (not function type) 213 instance of type [unbound] (not function type) 136 214 ... returning 137 _retval__operator_assign: instance of type _109_0_T(not function type)215 _retval__operator_assign: instance of type [unbound] (not function type) 138 216 ... with attributes: 139 217 Attribute with name: unused -
tests/meta/.expect/archVast.nast.x86.txt
r7c1144b rec5d599 7 7 char Alternatives are: 8 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 9 Variable Expression: FX86: signed int9 Variable Expression: FX86: double 10 10 ... with resolved type: 11 signed int11 double 12 12 ... to: 13 13 char … … 39 39 40 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 41 Variable Expression: FX86: double41 Variable Expression: FX86: signed int 42 42 ... with resolved type: 43 double43 signed int 44 44 ... to: 45 45 char -
tests/meta/.expect/archVast.oast.x86.txt
r7c1144b rec5d599 6 6 with resolved type: 7 7 char Alternatives are: 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 9 Variable Expression: FX86: double 10 with resolved type: 11 double 12 ... to: 13 char 14 with resolved type: 15 char 16 (types: 17 char 18 ) 19 Environment: 20 8 21 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 9 22 Variable Expression: FX86: function … … 16 29 ... returning nothing 17 30 18 ... to:19 char20 with resolved type:21 char22 (types:23 char24 )25 Environment:26 27 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of:28 Variable Expression: FX86: double29 with resolved type:30 double31 31 ... to: 32 32 char
Note: See TracChangeset
for help on using the changeset viewer.