2019-09-20 09:09 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000012mercuryBugpublic2007-10-05 13:31
Reporterpetdr 
Assigned To 
PrioritylowSeverityminorReproducibilityalways
StatusclosedResolutionwon't fix 
Product Version 
Target VersionFixed in Version 
Summary0000012: ./configure doesn't correctly identify that my compiler is not recent enough
DescriptionWith todays compiler (2007-10-03) and using the rotd 2007-09-08 I got the following error:

../scripts/mgnuc --grade asm_fast.gc.decldebug -- -c tree234.c -o tree234.o
tree234.c:67542: warning: initialisation makes pointer from integer without a cast
tree234.c:67543: warning: initialisation makes integer from pointer without a cast
tree234.c:67544: warning: initialisation makes pointer from integer without a cast
tree234.c:67545: warning: initialisation makes integer from pointer without a cast
tree234.c:67546: warning: initialisation makes pointer from integer without a cast
tree234.c:67547: error: incompatible types in initialisation
tree234.c:67547: error: initialiser element is not constant
tree234.c:67547: error: (near initialisation for `mercury_data__module_layout__tree234.MR_ml_trace_level')
tree234.c:67549: warning: initialisation makes integer from pointer without a cast
tree234.c:67550: warning: initialisation makes pointer from integer without a cast
tree234.c:67552: warning: initialisation makes pointer from integer without a cast
tree234.c:67553: warning: initialisation makes integer from pointer without a cast
tree234.c:67553: error: initialiser element is not computable at load time
tree234.c:67553: error: (near initialisation for `mercury_data__module_layout__tree234.MR_ml_user_event_max_num_attr')
tree234.c:67554: warning: initialisation makes integer from pointer without a cast
tree234.c:67556: warning: excess elements in struct initialiser
tree234.c:67556: warning: (near initialisation for `mercury_data__module_layout__tree234')
tree234.c:67557: warning: excess elements in struct initialiser
tree234.c:67557: warning: (near initialisation for `mercury_data__module_layout__tree234')
tree234.c:67559: warning: excess elements in struct initialiser
tree234.c:67559: warning: (near initialisation for `mercury_data__module_layout__tree234')
make: *** [tree234.o] Error 1

I think the problem is that I need a newer ROTD to compile.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0000009

anonymous (viewer)

What does line 67547 (and nearby) of tree234.c say?
What C compiler version are you using?

The error is coming from the C compiler, which makes me think that you're using a C compiler not supported by the rotd 2007-09-08 mercury compiler you're using to produce that C file, rather than a problem of the 2007-10-03 compiler using a construct not supported by the rotd 2007-09-08 mercury compiler. That's just an outsider's guess, though.

~0000010

zs (developer)

The configure script is only required to detect whether the installed compiler
is recent enough to compile a workspace in asm_fast.gc, none.gc or hlc.gc grades. The problem you are complaining about was caused by a change in the layout structures that affected only the grades using layout structures, namely debug grades and deep profiling grades.

The reason for the policy is that users already complain about their installed compilers being reported as not recent enough, and we felt that imposing a small cost on developers (who are the only ones who compile the compiler itself in debug or profiler grades) was better than imposing a bigger cost on ordinary users.
+Notes

-Issue History
Date Modified Username Field Change
2007-10-03 14:15 petdr New Issue
2007-10-05 12:54 anonymous Note Added: 0000009
2007-10-05 13:31 zs Note Added: 0000010
2007-10-05 13:31 zs Status new => closed
2007-10-05 13:31 zs Resolution open => won't fix
+Issue History