diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2012-10-22 16:13:51 -0400 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2013-03-04 15:54:35 +0000 |
commit | 0c32e25c96355c4edfa589fc5dad3993da82a90e (patch) | |
tree | 8287222f51a0bdce975b7536fdcf7e7f732734bf /assembler | |
parent | a5e5d94ce37356a6b5d2bf389456849f2f3c79ef (diff) |
Allow Gen version decimals.
This is preparatory work for Haswell (Gen 7.5).
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Diffstat (limited to 'assembler')
-rw-r--r-- | assembler/src/main.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/assembler/src/main.c b/assembler/src/main.c index 82e395ca..ef2afc4a 100644 --- a/assembler/src/main.c +++ b/assembler/src/main.c @@ -287,8 +287,22 @@ int main(int argc, char **argv) break; - case 'g': - gen_level = strtol(optarg, NULL, 0) * 10; + case 'g': { + char *dec_ptr, *end_ptr; + unsigned long decimal; + + gen_level = strtol(optarg, &dec_ptr, 10) * 10; + + if (*dec_ptr == '.') { + decimal = strtoul(++dec_ptr, &end_ptr, 10); + if (end_ptr != dec_ptr && *end_ptr == '\0') { + if (decimal > 10) { + fprintf(stderr, "Invalid Gen X decimal version\n"); + exit(1); + } + gen_level += decimal; + } + } if (gen_level < 40 || gen_level > 70) { usage(); @@ -296,6 +310,7 @@ int main(int argc, char **argv) } break; + } case 'a': advanced_flag = 1; |