From: | Jeremy Drake <pgsql-patches(at)jdrake(dot)com> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
Cc: | pgsql-patches(at)postgresql(dot)org |
Subject: | Re: patch to have configure check if CC is intel C compiler |
Date: | 2006-04-01 23:49:25 |
Message-ID: | Pine.LNX.4.64.0604011529390.13056@frousa |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
On Sun, 2 Apr 2006, Peter Eisentraut wrote:
> Jeremy Drake wrote:
> > The intel C compiler for linux emulates gcc
> > by default, which means it defines that and looks very much like gcc
> > to configure. However, it does not get along with the added -W flags
> > very well. They don't seem to kill it, but some of them give
> > warnings about unsupported command line options and others produce
> > insane amounts of output from the compiler.
>
> Details please. Which options are unsupported and what happens if you
> use them?
For an example I grabbed the output from compiling nbtsearch.c using
this configure line:
CC="icc" CFLAGS="-O3 -ip -parallel -xN" ./configure --with-perl --with-python --with-openssl
As you can tell, these make a lot of output. I only include the line(s)
with each option which are added when the option is given. So, with the
old configure, all of the warnings were concatenated (two instances of the
"argument required" warning plus the inlining report and the collection of
remark messages).
-Wmissing-prototypes and -Wpointer-arith do not appear to make any
difference, at least on this file.
-Wendif-labels:
iccbin: Command line warning: ignoring option '-W'; no argument required
-Wdeclaration-after-statement:
iccbin: Command line warning: ignoring option '-W'; no argument required
-Winline:
INLINING REPORT: (_bt_moveright)
-> elog_finish(EXTERN)
-> elog_start(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> ARGS_IN_REGS: _bt_compare.(3) (isz = 249) (sz = 269 (77+192))
INLINING REPORT: (_bt_binsrch)
-> ARGS_IN_REGS: _bt_compare.(3) (isz = 249) (sz = 269 (77+192))
INLINING REPORT: (_bt_next)
-> _bt_relbuf(EXTERN)
-> _bt_checkkeys(EXTERN)
-> ARGS_IN_REGS: _bt_step.(6) (isz = 486) (sz = 502 (171+331))
INLINING REPORT: (_bt_first)
-> ARGS_IN_REGS: _bt_endpoint(9) (isz = 475) (sz = 489 (176+313))
-> INLINE: _bt_next(11) (isz = 59) (sz = 73 (27+46))
-> ARGS_IN_REGS: _bt_step.(6) (isz = 486) (sz = 502 (171+331))
-> _bt_checkkeys(EXTERN)
-> _bt_relbuf(EXTERN)
-> _bt_relbuf(EXTERN)
-> _bt_checkkeys(EXTERN)
-> ARGS_IN_REGS: _bt_step.(6) (isz = 486) (sz = 502 (171+331))
-> ARGS_IN_REGS: _bt_step.(6) (isz = 486) (sz = 502 (171+331))
-> BufferGetBlockNumber(EXTERN)
-> INLINE: _bt_binsrch(15) (isz = 104) (sz = 127 (41+86))
-> ARGS_IN_REGS: _bt_compare.(3) (isz = 249) (sz = 269 (77+192))
-> _bt_freestack(EXTERN)
-> ARGS_IN_REGS: _bt_search.(0) (isz = 315) (sz = 335 (113+222))
-> elog_finish(EXTERN)
-> elog_start(EXTERN)
-> memcpy(EXTERN)
-> memcpy(EXTERN)
-> ScanKeyEntryInitializeWithInfo(EXTERN)
-> index_getprocinfo(EXTERN)
-> ScanKeyEntryInitialize(EXTERN)
-> get_opclass_proc(EXTERN)
-> _bt_preprocess_keys(EXTERN)
INLINING REPORT: (_bt_step)
-> BufferGetBlockNumber(EXTERN)
-> _bt_relbuf(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> INLINE: _bt_walk_left(10) (isz = 210) (sz = 222 (77+145))
-> BufferGetBlockNumber(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> elog_start(EXTERN)
-> elog_finish(EXTERN)
-> elog_start(EXTERN)
-> elog_finish(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> _bt_relbuf(EXTERN)
INLINING REPORT: (_bt_search)
-> _bt_relandgetbuf(EXTERN)
-> memcpy(EXTERN)
-> MemoryContextAlloc(EXTERN)
-> BufferGetBlockNumber(EXTERN)
-> INLINE: _bt_binsrch(14) (isz = 104) (sz = 127 (41+86))
-> ARGS_IN_REGS: _bt_compare.(3) (isz = 249) (sz = 269 (77+192))
-> INLINE: _bt_moveright(16) (isz = 92) (sz = 110 (37+73))
-> ARGS_IN_REGS: _bt_compare.(3) (isz = 249) (sz = 269 (77+192))
-> _bt_relandgetbuf(EXTERN)
-> elog_start(EXTERN)
-> elog_finish(EXTERN)
-> _bt_getroot(EXTERN)
INLINING REPORT: (_bt_compare)
-> FunctionCall2(EXTERN)
-> nocache_index_getattr(EXTERN)
-> nocache_index_getattr(EXTERN)
INLINING REPORT: (_bt_endpoint)
-> INLINE: _bt_next(12) (isz = 59) (sz = 73 (27+46))
-> ARGS_IN_REGS: _bt_step.(6) (isz = 486) (sz = 502 (171+331))
-> _bt_checkkeys(EXTERN)
-> _bt_relbuf(EXTERN)
-> _bt_relbuf(EXTERN)
-> _bt_checkkeys(EXTERN)
-> ARGS_IN_REGS: _bt_step.(6) (isz = 486) (sz = 502 (171+331))
-> elog_finish(EXTERN)
-> elog_start(EXTERN)
-> BufferGetBlockNumber(EXTERN)
-> INLINE: _bt_get_endpoint(13) (isz = 199) (sz = 213 (76+137))
-> _bt_gettrueroot(EXTERN)
-> _bt_getroot(EXTERN)
-> elog_start(EXTERN)
-> elog_finish(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> elog_start(EXTERN)
-> elog_finish(EXTERN)
-> _bt_relandgetbuf(EXTERN)
INLINING REPORT: (_bt_get_endpoint)
-> _bt_relandgetbuf(EXTERN)
-> elog_finish(EXTERN)
-> elog_start(EXTERN)
-> _bt_relandgetbuf(EXTERN)
-> elog_finish(EXTERN)
-> elog_start(EXTERN)
-> _bt_getroot(EXTERN)
-> _bt_gettrueroot(EXTERN)
-Wall:
../../../../src/include/access/relscan.h(45): remark #1684: conversion
from pointer to same-sized integral type (potential portability problem)
OffsetNumber rs_vistuples[MaxHeapTuplesPerPage]; /* their
offsets */
^
../../../../src/include/access/relscan.h(45): remark #1684: conversion
from pointer to same-sized integral type (potential portability problem)
OffsetNumber rs_vistuples[MaxHeapTuplesPerPage]; /* their
offsets */
^
nbtsearch.c(242): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
low = P_FIRSTDATAKEY(opaque);
^
nbtsearch.c(243): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
high = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(243): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
high = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(243): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
high = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(273): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
OffsetNumber mid = low + ((high - low) / 2);
^
nbtsearch.c(280): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
low = mid + 1;
^
nbtsearch.c(369): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
datum = index_getattr(itup, scankey->sk_attno, itupdesc,
&isNull);
^
nbtsearch.c(505): remark #279: controlling expression is constant
pgstat_count_index_scan(&scan->xs_pgstat_info);
^
nbtsearch.c(868): remark #810: conversion from
"BlockNumber={uint32={unsigned int}}" to "uint16={unsigned short}" may
lose significant bits
ItemPointerSet(current, blkno, offnum);
^
nbtsearch.c(868): remark #810: conversion from "unsigned int" to
"uint16={unsigned short}" may lose significant bits
ItemPointerSet(current, blkno, offnum);
^
nbtsearch.c(899): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
if (offnum > PageGetMaxOffsetNumber(page))
^
nbtsearch.c(899): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
if (offnum > PageGetMaxOffsetNumber(page))
^
nbtsearch.c(963): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(963): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(963): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
maxoff = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(992): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff =
PageGetMaxOffsetNumber(page);
^
nbtsearch.c(992): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff =
PageGetMaxOffsetNumber(page);
^
nbtsearch.c(992): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
maxoff =
PageGetMaxOffsetNumber(page);
^
nbtsearch.c(993): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
offnum = P_FIRSTDATAKEY(opaque);
^
nbtsearch.c(1037): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff =
PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1037): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff =
PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1037): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
maxoff =
PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1049): remark #810: conversion from
"BlockNumber={uint32={unsigned int}}" to "uint16={unsigned short}" may
lose significant bits
ItemPointerSet(current, blkno, offnum);
^
nbtsearch.c(1049): remark #810: conversion from "unsigned int" to
"uint16={unsigned short}" may lose significant bits
ItemPointerSet(current, blkno, offnum);
^
nbtsearch.c(1237): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
offnum = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1237): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
offnum = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1237): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
offnum = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1239): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
offnum = P_FIRSTDATAKEY(opaque);
^
nbtsearch.c(1299): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1299): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
maxoff = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1299): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
maxoff = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1306): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
start = P_FIRSTDATAKEY(opaque);
^
nbtsearch.c(1312): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
start = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1312): remark #1684: conversion from pointer to same-sized
integral type (potential portability problem)
start = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1312): remark #810: conversion from "unsigned int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
start = PageGetMaxOffsetNumber(page);
^
nbtsearch.c(1314): remark #810: conversion from "int" to
"OffsetNumber={uint16={unsigned short}}" may lose significant bits
start = P_FIRSTDATAKEY(opaque);
^
nbtsearch.c(1322): remark #810: conversion from
"BlockNumber={uint32={unsigned int}}" to "uint16={unsigned short}" may
lose significant bits
ItemPointerSet(current, blkno, start);
^
nbtsearch.c(1322): remark #810: conversion from "unsigned int" to
"uint16={unsigned short}" may lose significant bits
ItemPointerSet(current, blkno, start);
^
--
Each team building another component has been using the most recent tested
version of the integrated system as a test bed for debugging its piece. Their
work will be set back by having that test bed change under them. Of course it
must. But the changes need to be quantized. Then each user has periods of
productive stability, interrupted by bursts of test-bed change. This seems
to be much less disruptive than a constant rippling and trembling.
- Frederick Brooks Jr., "The Mythical Man Month"
From | Date | Subject | |
---|---|---|---|
Next Message | David Wheeler | 2006-04-01 23:51:36 | Re: Suggestion: Which Binary? |
Previous Message | Peter Eisentraut | 2006-04-01 23:49:18 | Re: Suggestion: Which Binary? |