diff options
Diffstat (limited to 'lib/compiler/test/compilation_SUITE_data/beam_compiler_6.erl')
-rw-r--r-- | lib/compiler/test/compilation_SUITE_data/beam_compiler_6.erl | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/lib/compiler/test/compilation_SUITE_data/beam_compiler_6.erl b/lib/compiler/test/compilation_SUITE_data/beam_compiler_6.erl new file mode 100644 index 0000000000..f263fd75b2 --- /dev/null +++ b/lib/compiler/test/compilation_SUITE_data/beam_compiler_6.erl @@ -0,0 +1,153 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1997-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +-module(beam_compiler_6). +-export([beam_compiler_6/0]). + +%% From Ulf Wiger, modified by Bjorn Gustavsson to provoke the +%% same error with partly corrected compiler in P3A. + +beam_compiler_6() -> + ok. + +selected_alarm(_Env, Parameters) -> + UnWebParam = x, + [Time, Severity, Info, Cause, + Type, Sender, Name, FaultId] = bar:foo(), + + %% Each branch of the case needs two words of heap, + %% but the test heap generated before the call to bar:foo(), + %% will be merged to the testHeap of each branch, summed and + %% moved before the branch. And the number of words to allocate + %% will be ridiculously big (> 65535) and will not fit in a + %% 16 bit word. + + SenderLink = + case Name of + "pchScheduledConnectionAlarm" -> + [Sender]; + "pchVpVcAlarm" -> + [Sender]; + "pchSystemMemoryAlarm" -> + [Sender]; + "uniProtocolRestartFailureAlarm" -> + [Sender]; + "spvcScheduledConnectionAlarm" -> + [Sender]; + "eqmSwitchCoreInterfaceAlarm" -> + [Sender]; + "atmPhysicalLayerAlarm" -> + [Sender]; + "atmBufferCongestionAlarm" -> + [Sender]; + "sdhLinkAlarm" -> + [Sender]; + "sdhFarEndAlarm" -> + [Sender]; + "sdhUpperQosAlarm" -> + [Sender]; + "sdhLowerQosAlarm" -> + [Sender]; + "eqmSwitchCoreAlarm" -> + [Sender]; + "eqmEtAlarm" -> + [Sender]; + "eqmHwIdentityFaultAlarm" -> + [Sender]; + "eqmOperatorBlockedEquipmentAlarm" -> + [Sender]; + "pdh34PathAlarm" -> + [Sender]; + "pdh34ObservationAlarm" -> + [Sender]; + "pdh34UpperQosAlarm" -> + [Sender]; + "pdh34LowerQosAlarm" -> + [Sender]; + "nsySynchRefAlarm" -> + [Sender]; + "nsySynchRefBlockedAlarm" -> + [Sender]; + "nsySynchNodeHoldoverAlarm" -> + [Sender]; + "nsySynchNodeNotWorkingAlarm" -> + [Sender]; + "eqmAtbAlarm" -> + [Sender]; + "eqmCbEtAlarm" -> + [Sender]; + "eqmCpAlarm" -> + [Sender]; + "eqmCpInterfaceAlarm" -> + [Sender]; + "eqmCbClkAlarm" -> + [Sender]; + "eqmCbClkInterfaceAlarm" -> + [Sender]; + "eqmCbClkVelocityAlarm" -> + [Sender]; + "eqmCbClkPhaseDiffAlarm" -> + [Sender]; + "eqmHwNotFoundAlarm" -> + [Sender]; + "eqmPduAlarm" -> + [Sender]; + "eqmFanAlarm" -> + [Sender]; + "eqmLocAlarm" -> + [Sender]; + "eqmCustomerDefined1Alarm" -> + [Sender]; + "eqmCustomerDefined2Alarm" -> + [Sender]; + "eqmCustomerDefined3Alarm" -> + [Sender]; + "eqmCustomerDefined4Alarm" -> + [Sender]; + "eqmOperatorBlockedLinkAlarm" -> + [Sender]; + "eqmPowerFilterAlarm" -> + [Sender]; + "eqmCbAbrAlarm" -> + [Sender]; + "eqmAlarmCutOffAlarm" -> + [Sender]; + OtherAlarm -> + [Sender] + end, + + %% The testHeap instruction generated here will move up to before + %% the case. + + bar:foo("<TABLE> + <TR><TD ALIGN=LEFT>Fault id: + <TD>" ++ FaultId ++ " + <TR><TD ALIGN=LEFT>Name: + <TD>" ++ Name ++ " + <TR><TD ALIGN=LEFT>Sender: + <TD>" ++ SenderLink ++ " + <TR><TD ALIGN=LEFT>Class: + <TD>" ++ Type ++ " + <TR><TD ALIGN=LEFT>Cause: + <TD>" ++ Cause ++ " + <TR><TD ALIGN=LEFT>Severity: + <TD>" ++ Severity ++ " + <TR><TD ALIGN=LEFT>Information: + <TD>" ++ Info ++ " + <TR><TD ALIGN=LEFT>Time: + <TD>" ++ Time). |