#include "diagnostic.h"
#include "debug.h"
#include "target.h"
+#include "langhooks.h"
#include "hashtable.h"
#ifdef DWARF2_DEBUGGING_INFO
indirect_p = 1;
break;
+ case COMPOUND_EXPR:
+ return loc_descriptor_from_tree (TREE_OPERAND (loc, 1), addressp);
+
case NOP_EXPR:
case CONVERT_EXPR:
case NON_LVALUE_EXPR:
+ case VIEW_CONVERT_EXPR:
case SAVE_EXPR:
return loc_descriptor_from_tree (TREE_OPERAND (loc, 0), addressp);
HOST_WIDE_INT bitsize, bitpos, bytepos;
enum machine_mode mode;
int volatilep;
- unsigned int alignment;
obj = get_inner_reference (loc, &bitsize, &bitpos, &offset, &mode,
- &unsignedp, &volatilep, &alignment);
+ &unsignedp, &volatilep);
if (obj == loc)
return 0;
case CONVERT_EXPR:
case NOP_EXPR:
case NON_LVALUE_EXPR:
+ case VIEW_CONVERT_EXPR:
add_bound_info (subrange_die, bound_attr, TREE_OPERAND (bound, 0));
break;
dw_die_ref die;
char producer[250];
const char *wd = getpwd ();
+ const char *language_string = lang_hooks.name;
int language;
die = new_die (DW_TAG_compile_unit, NULL);
members of this record or union type, we will also be trying to output
DIEs to represent the *types* of those members. However the `type'
function (above) will specifically avoid generating type DIEs for member
- types *within* the list of member DIEs for this (containing) type execpt
+ types *within* the list of member DIEs for this (containing) type except
for those types (of members) which are explicitly marked as also being
members of this (containing) type themselves. The g++ front- end can
force any given type to be treated as a member of some other
add_child_die (origin->die_parent, die);
else if (die == comp_unit_die)
;
+ else if (errorcount > 0 || sorrycount > 0)
+ /* It's OK to be confused by errors in the input. */
+ add_child_die (comp_unit_die, die);
else
abort ();
}