Project

General

Profile

Actions

Bug #4798

open

Duplicated global temps for array of structures initialization

Added by Vadim Mutilin over 10 years ago. Updated about 10 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
CIL
Start date:
03/26/2014
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

CIL fails with the error:

 Error: Global __constr_expr_0 was already defined

Command line
cilly.asm.exe wm8990.o.i --out cil.out.i --printCilAsIs --decil --noInsertImplicitCasts --useLogicalOperators --ignore-merge-conflicts --no-convert-direct-calls --no-convert-field-offsets --no-split-structs --rmUnusedInlines

Original expression

/* Left In PGA Connections */
static const struct snd_kcontrol_new wm8990_dapm_lin12_pga_controls[] = {
SOC_DAPM_SINGLE("LIN1 Switch", WM8990_INPUT_MIXER2, WM8990_LMN1_BIT, 1, 0),
SOC_DAPM_SINGLE("LIN2 Switch", WM8990_INPUT_MIXER2, WM8990_LMP2_BIT, 1, 0),
};

Preprocessed expression

static struct snd_kcontrol_new const wm8990_dapm_lin12_pga_controls[2U] = { [ 0U ] = { . iface = 2 , . name =
( unsigned char *) "LIN1 Switch" , . info = ( snd_kcontrol_info_t *) & snd_soc_info_volsw , . get = ( snd_kcontrol_get_t *) & snd_soc_dapm_get_volsw , . put = ( snd_kcontrol_put_t *) & snd_soc_dapm_put_volsw , . private_value = ( long unsigned int ) & ( struct soc_mixer_control ) { . max = 1 , . platform_max = 1 , . reg = 40U , . shift = 4U , . rshift = 4U , . invert = 0U } } , [ 1U ] = { . iface = 2 , . name =
( unsigned char *) "LIN2 Switch" , . info = ( snd_kcontrol_info_t *) & snd_soc_info_volsw , . get = ( snd_kcontrol_get_t *) & snd_soc_dapm_get_volsw , . put = ( snd_kcontrol_put_t *) & snd_soc_dapm_put_volsw , . private_value = ( long unsigned int ) & ( struct soc_mixer_control ) { . max = 1 , . platform_max = 1 , . reg = 40U , . shift = 5U , . rshift = 5U , . invert = 0U } } };

Commit: c0cc359~1, linux-stable
module: drivers/usb/serial/qcserial.ko


Files

wm8990.o.i.bz2 (149 KB) wm8990.o.i.bz2 from drivers/usb/serial/qcserial.ko Vadim Mutilin, 03/26/2014 04:57 PM
dvb-pll.zip (224 KB) dvb-pll.zip Mikhail Mandrykin, 10/10/2014 09:29 PM
Actions #1

Updated by Evgeny Novikov over 10 years ago

I didn't catch, who causes this bug.

Actions #2

Updated by Vadim Mutilin over 10 years ago

CIL creates some internal global temporary variables for array initialization and has some bug with its duplication as far as I understood.

Actions #3

Updated by Evgeny Novikov over 10 years ago

Proper place for CIL related bugs is its bugzilla, since we will unlikely fix them by ourselves. So reopen this issue there and mark this here.

Actions #4

Updated by Vadim Mutilin about 10 years ago

  • Category set to CIL
Actions #5

Updated by Mikhail Mandrykin about 10 years ago

The attached archive dvb-pll.zip contains an example of verification task failing with BLAST/CIL 1.3.7, but correctly processed by new CIL 1.7.3 (bc1cb8e676e71c0adabe04da5d760d2c85f24268).

Actions

Also available in: Atom PDF