adjust to latest libfirm debugoutput
authorMatthias Braun <matthias.braun@kit.edu>
Wed, 25 Apr 2012 23:30:55 +0000 (01:30 +0200)
committerMatthias Braun <matthias.braun@kit.edu>
Wed, 25 Apr 2012 23:30:55 +0000 (01:30 +0200)
ast2firm.c
libfirm
main.c

index a9edec0..3fb6688 100644 (file)
@@ -22,6 +22,7 @@
 #include <assert.h>
 #include <string.h>
 #include <stdbool.h>
+#include <unistd.h>
 #include <limits.h>
 
 #include <libfirm/firm.h>
@@ -5781,8 +5782,27 @@ static void global_asm_to_firm(statement_t *s)
        }
 }
 
+static const char *get_cwd(void)
+{
+       static char buf[1024];
+       if (buf[0] == '\0')
+               getcwd(buf, sizeof(buf));
+       return buf;
+}
+
 void translation_unit_to_firm(translation_unit_t *unit)
 {
+       if (c_mode & _CXX) {
+               be_dwarf_set_source_language(DW_LANG_C_plus_plus);
+       } else if (c_mode & _C99) {
+               be_dwarf_set_source_language(DW_LANG_C99);
+       } else if (c_mode & _C89) {
+               be_dwarf_set_source_language(DW_LANG_C89);
+       } else {
+               be_dwarf_set_source_language(DW_LANG_C);
+       }
+       be_dwarf_set_compilation_directory(get_cwd());
+
        /* initialize firm arithmetic */
        tarval_set_integer_overflow_mode(TV_OVERFLOW_WRAP);
        ir_set_uninitialized_local_variable_func(uninitialized_local_var);
diff --git a/libfirm b/libfirm
index c7311e9..cc9d3be 160000 (submodule)
--- a/libfirm
+++ b/libfirm
@@ -1 +1 @@
-Subproject commit c7311e9112a4b5addacdc3de37be4b43b17908df
+Subproject commit cc9d3be2116747d0d9d1445d3116c69ce041ae57
diff --git a/main.c b/main.c
index 0c9b854..d00d6d1 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1116,8 +1116,8 @@ int main(int argc, char **argv)
                        if (option[0] == 'o') {
                                GET_ARG_AFTER(outname, "-o");
                        } else if (option[0] == 'g') {
-                               set_be_option("debuginfo=stabs");
-                               set_be_option("omitfp=no");
+                               /* TODO: parse -gX with 0<=x<=3... */
+                               set_be_option("debug=frameinfo");
                                set_be_option("ia32-nooptcc=yes");
                        } else if (SINGLE_OPTION('c')) {
                                mode = CompileAssemble;