summaryrefslogtreecommitdiff
path: root/assembler
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-10-22 16:13:51 -0400
committerDamien Lespiau <damien.lespiau@intel.com>2013-03-04 15:54:35 +0000
commit0c32e25c96355c4edfa589fc5dad3993da82a90e (patch)
tree8287222f51a0bdce975b7536fdcf7e7f732734bf /assembler
parenta5e5d94ce37356a6b5d2bf389456849f2f3c79ef (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.c19
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;