aboutsummaryrefslogtreecommitdiff
path: root/gcc/jit
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2015-07-08 14:41:59 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2015-07-08 14:41:59 +0000
commit58c5ad4032b2bb9e39a0d8c9925c0673f22877a0 (patch)
tree3fbc08b75a6006db22d369b7360f24233a99c656 /gcc/jit
parentcadb53a5e6c47904f42e636dadbfada6c76fec39 (diff)
downloadgcc-58c5ad4032b2bb9e39a0d8c9925c0673f22877a0.zip
gcc-58c5ad4032b2bb9e39a0d8c9925c0673f22877a0.tar.gz
gcc-58c5ad4032b2bb9e39a0d8c9925c0673f22877a0.tar.bz2
PR jit/66783: improve error messages
gcc/jit/ChangeLog: PR jit/66783 * libgccjit.c (gcc_jit_context_new_field): Show name of field in "unknown size" error message. (gcc_jit_struct_set_fields): Show name of struct in error message. (gcc_jit_context_new_global): Show name of global in "unknown size" error message. (gcc_jit_function_new_local): Likewise for local. gcc/testsuite/ChangeLog: PR jit/66783 * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c (verify_code): Update expected error message. * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c (verify_code): Likewise. * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c (verify_code): Likewise. From-SVN: r225557
Diffstat (limited to 'gcc/jit')
-rw-r--r--gcc/jit/ChangeLog10
-rw-r--r--gcc/jit/libgccjit.c22
2 files changed, 25 insertions, 7 deletions
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog
index 6fdcb60..e9a32f0 100644
--- a/gcc/jit/ChangeLog
+++ b/gcc/jit/ChangeLog
@@ -1,3 +1,13 @@
+2015-07-08 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66783
+ * libgccjit.c (gcc_jit_context_new_field): Show name of field in
+ "unknown size" error message.
+ (gcc_jit_struct_set_fields): Show name of struct in error message.
+ (gcc_jit_context_new_global): Show name of global in
+ "unknown size" error message.
+ (gcc_jit_function_new_local): Likewise for local.
+
2015-07-07 Andrew MacLeod <amacleod@redhat.com>
* dummy-frontend.c: Adjust includes.
diff --git a/gcc/jit/libgccjit.c b/gcc/jit/libgccjit.c
index 85d9f62..eee513f 100644
--- a/gcc/jit/libgccjit.c
+++ b/gcc/jit/libgccjit.c
@@ -543,10 +543,11 @@ gcc_jit_context_new_field (gcc_jit_context *ctxt,
/* LOC can be NULL. */
RETURN_NULL_IF_FAIL (type, ctxt, loc, "NULL type");
RETURN_NULL_IF_FAIL (name, ctxt, loc, "NULL name");
- RETURN_NULL_IF_FAIL_PRINTF1 (
+ RETURN_NULL_IF_FAIL_PRINTF2 (
type->has_known_size (),
ctxt, loc,
- "type has unknown size (type: %s)",
+ "unknown size for field \"%s\" (type: %s)",
+ name,
type->get_debug_string ());
return (gcc_jit_field *)ctxt->new_field (loc, type, name);
@@ -662,7 +663,12 @@ gcc_jit_struct_set_fields (gcc_jit_struct *struct_type,
RETURN_IF_FAIL (fields, ctxt, loc, "NULL fields ptr");
for (int i = 0; i < num_fields; i++)
{
- RETURN_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr");
+ RETURN_IF_FAIL_PRINTF2 (
+ fields[i],
+ ctxt, loc,
+ "%s: NULL field ptr at index %i",
+ struct_type->get_debug_string (),
+ i);
RETURN_IF_FAIL_PRINTF2 (
NULL == fields[i]->get_container (),
ctxt, loc,
@@ -1038,10 +1044,11 @@ gcc_jit_context_new_global (gcc_jit_context *ctxt,
kind);
RETURN_NULL_IF_FAIL (type, ctxt, loc, "NULL type");
RETURN_NULL_IF_FAIL (name, ctxt, loc, "NULL name");
- RETURN_NULL_IF_FAIL_PRINTF1 (
+ RETURN_NULL_IF_FAIL_PRINTF2 (
type->has_known_size (),
ctxt, loc,
- "type has unknown size (type: %s)",
+ "unknown size for global \"%s\" (type: %s)",
+ name,
type->get_debug_string ());
return (gcc_jit_lvalue *)ctxt->new_global (loc, kind, type, name);
@@ -1839,10 +1846,11 @@ gcc_jit_function_new_local (gcc_jit_function *func,
"Cannot add locals to an imported function");
RETURN_NULL_IF_FAIL (type, ctxt, loc, "NULL type");
RETURN_NULL_IF_FAIL (name, ctxt, loc, "NULL name");
- RETURN_NULL_IF_FAIL_PRINTF1 (
+ RETURN_NULL_IF_FAIL_PRINTF2 (
type->has_known_size (),
ctxt, loc,
- "type has unknown size (type: %s)",
+ "unknown size for local \"%s\" (type: %s)",
+ name,
type->get_debug_string ());
return (gcc_jit_lvalue *)func->new_local (loc, type, name);